2014-06-21 14 views
5

Chciałbym użyć pakietu pośpiech kompilator zrobić coś javascript Haskell-to-:ucieczka od cabal diabła z pośpiechu, binarne i archiwum 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 

zauważyłem, że istnieje nowsza wersja archiwum zip, która zderzyła się z wersją binarną do> = 0.7, która zapewnia funkcję decodeOrFail. Więc próbowałem sprawdzić haste-compiler repo i wciskając wersję archiwum zip do nowego archiwum zip 0.2.3.2. Ale to nie pomoże:

[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. 

Próbowałem też ręcznie instalowania archiwum zip, i binarne, a robi to wszystko w piaskownicy. Nie wiem, co robić - Naprawdę chciałbym zastąpić cały mój javascript dobrze dobraną, makabryczną dobrocią. przeżywam ten sam problem na moim MacBook Pro i moim Linuksie, zarówno z najnowszej Haskell-platform, ghc wersja 7.6.3

Odpowiedz

8

Twój drzewa zależności wygląda jakby tak:

     ┌────────────────────┐ 
      ┌─────────┤ 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 │ 
    └────────────────┘     └────────────────┘ 

Rejestracja prawdopodobnie nie będzie możliwe ponowne zainstalowanie GHC, więc wszystko i to, co znajduje się poniżej, jest dla nas "poprawione", będziemy musieli spróbować zmienić zip-archive-0.2.3.2 i binary-0.7.1.0. Spójrzmy na ograniczeń haste-compiler-0.3:

zip-archive 

Więc to nie określa wersję w ogóle. Każdy to zrobi. Jeśli spojrzymy na poprzednie wersje zip-archive, zobaczymy, że wersja 0.2.2.1 jest najwcześniejszą wersją, która ma ograniczenie na binary kompatybilne z zainstalowanym binary-0.5.1.1, które również zbudowano na Hackage. Więc oto jak należy go rozwiązać:

  1. Wyrejestrowanie zip-archive-0.2.3.2 i binary-0.7.1.0 w tej kolejności:

    % ghc-pkg unregister zip-archive-0.2.3.2 
    % ghc-pkg unregister binary-0.7.1.0 
    
  2. usunąć te dwa pakiety z katalogu biblioteki GHC. To zależy od instalacji, ale spójrz na katalog ~/.ghc, ~/.cabal i ~/Library/Haskell dla katalogu lib (prawdopodobnie w podkatalogu lub dwóch) i zobacz, czy możesz tam gdzieś znaleźć pakiety.

  3. Install haste-compiler-0.3 z przymusu na wersji zip-archive:

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

To powinno działać, ale nie próbowałem to sam, więc może się nie udać.

Powiązane problemy