2014-06-21 15 views
5

Vorrei usare il pacchetto fretta-compilatore di fare la cosa javascript Haskell-to-:fuga dall'inferno cabala in fretta, binaria e archivio zip

[email protected]:~/project$ cabal install haste-compiler 
Resolving dependencies... 
... 
Configuring zip-archive-0.2.3... 
Building zip-archive-0.2.3... 
Preprocessing library zip-archive-0.2.3... 
[1 of 1] Compiling Codec.Archive.Zip (src/Codec/Archive/Zip.hs, dist/build/Codec/Archive/Zip.o) 

src/Codec/Archive/Zip.hs:163:27: Not in scope: `decodeOrFail' 
Failed to install zip-archive-0.2.3 
cabal: Error: some packages failed to install: 
haste-compiler-0.3 depends on zip-archive-0.2.3 which failed to install. 
zip-archive-0.2.3 failed during the building phase. The exception was: 
ExitFailure 1 

ho notato che v'è una più recente versione di zip-archive che ha urtato la versione di binario in> = 0.7, che fornisce la funzione decodeOrFail. Così ho provato a controllare lo haste-compiler repo e a scaricare la versione di archivio zip nel nuovo archivio zip 0.2.3.2. Ma che non aiuta:

[email protected]:~/project/haste-compiler$ cabal install 
Resolving dependencies... 
cabal: Could not resolve dependencies: 
trying: haste-compiler-0.3 (user goal) 
trying: zip-archive-0.2.3.2/installed-208... (dependency of 
haste-compiler-0.3) 
trying: ghc-7.6.3/installed-0d1... (dependency of haste-compiler-0.3) 
next goal: bin-package-db (dependency of ghc-7.6.3/installed-0d1...) 
rejecting: bin-package-db-0.0.0.0/installed-837... (conflict: zip-archive => 
binary==0.7.1.0/installed-961..., bin-package-db => 
binary==0.5.1.1/installed-5b8...) 
Dependency tree exhaustively searched. 

Ho anche provato ad installare manualmente archivio zip, e binari, e facendo tutto questo in una sandbox. Non so cosa fare - Mi piacerebbe davvero sostituire tutto il mio javascript con qualità haskelly ben tipizzata. provo lo stesso problema sul mio MacBookPro e la mia linux box, sia utilizzando l'ultima Haskell-piattaforma, la versione 7.6.3 GHC

risposta

8

vostro albero delle dipendenze sembra un po 'come questo:

     ┌────────────────────┐ 
      ┌─────────┤ haste─compiler─0.3 │ 
      │ depends └─────────────────┬──┘ 
      V       │ 
     ┌───────────┐      │ depends 
     │ ghc─7.6.3 │      │ 
     └─────┬─────┘      V     
      │ depends    ┌─────────────────────┐ 
      V      │ zip─archive─0.2.3.2 │ 
┌────────────────────────┐   └───────────┬─────────┘ 
│ bin─package─db─0.0.0.0 │      │ 
└───────────┬────────────┘      │ depends 
      │ depends       │ 
      V         V 
    ┌────────────────┐ conflicts with ┌────────────────┐ 
    │ binary─0.5.1.1 │<────────────────>│ binary─0.7.1.0 │ 
    └────────────────┘     └────────────────┘ 

Dal è probabilmente impossibile per te reinstallare GHC, e così e tutto quanto di seguito è "fissato sul posto" per noi, dovremo provare a cambiare zip-archive-0.2.3.2 e binary-0.7.1.0. Diamo un'occhiata a vincoli di haste-compiler-0.3:

zip-archive 

Quindi non specifica una versione a tutti. Qualsiasi farà. Se guardiamo alle versioni precedenti di zip-archive, vediamo che la versione 0.2.2.1 è la prima versione che ha un vincolo su binary compatibile con lo binary-0.5.1.1 installato anch'esso costruito su Hackage. Quindi, ecco come si dovrebbe risolverlo:

  1. Unregister zip-archive-0.2.3.2 e binary-0.7.1.0 in questo ordine:

    % ghc-pkg unregister zip-archive-0.2.3.2 
    % ghc-pkg unregister binary-0.7.1.0 
    
  2. eliminare tali due pacchetti dalla directory libreria GHC. Questo varia a seconda dell'installazione, ma dai un'occhiata a ~/.ghc, ~/.cabal e ~/Library/Haskell per una directory lib (probabilmente all'interno di una sottodirectory o due) e vedi se riesci a trovare i pacchetti da qualche parte.

  3. Installare haste-compiler-0.3 con un vincolo sulla versione zip-archive:

    % cabal install --constraint='zip-archive==0.2.2.1' haste-compiler==0.3 
    

Che dovrebbe funzionare, ma non ho provato io stesso, in modo che possa andare male.

Problemi correlati