2016-03-05 6 views
6

В Mac OS X, я не в состоянии установить ghc-mod из-за этого не может быть установлена ​​зависимость называется «счастливым»:Не удается установить ghc-mod из-за «счастливого» не может быть установлен?

bash> cabal install ghc-mod                       
Resolving dependencies... 
Configuring haskell-src-exts-1.17.1... 
Failed to install haskell-src-exts-1.17.1 
Build log (/Users/meng/.cabal/logs/haskell-src-exts-1.17.1.log): 
Configuring haskell-src-exts-1.17.1... 
setup-Simple-Cabal-1.22.5.0-x86_64-osx-ghc-7.10.3: The program 'happy' version 
>=1.19 is required but it could not be found. 
cabal: Error: some packages failed to install: 
ghc-mod-5.5.0.0 depends on haskell-src-exts-1.17.1 which failed to install. 
haskell-src-exts-1.17.1 failed during the configure step. The exception was: 
ExitFailure 1 
hlint-1.9.31 depends on haskell-src-exts-1.17.1 which failed to install. 

Любая идея?

+0

Я знаю, что это немного больше, чтобы узнать, но подумайте об использовании «стека» или «кабальных песочниц», для последнего вам лучше всего сделать «cabal get ghc-mod», затем cd в каталог ghcmod, и там вы 'cabal sandbox init', это упростит вашу жизнь с помощью Haskell. Использование 'stack' еще лучше, но уже есть ответы, рекомендующие это. – epsilonhalbe

ответ

9

По какой-то причине cabal не устанавливает исполняемые зависимости, но вы можете обойти это, установив вручную.

cabal install happy 

Затем приступить к первоначальной установке.


Эта проблема вообще не уходит со стеком либо, но решение аналогично

stack install happy 

затем продолжить установку.

5

похоже, что программа happy не установлена ​​в вашей системе, поэтому пакет haskell-src-exts-1.17.1 (зависимость зависимости от ghc-mod), который не зависит от него, не может быть установлен.

Общая мудрость сегодня, особенно для новичков, заключается в том, чтобы не использовать инструмент cabal-install, но использовать stack для всего, что вам нужно. включая установку самого ghc. после загрузки стека я думаю, что все, что вам нужно сделать, это запустить stack install ghc-mod для установки ghc-mod.