2016-10-10 28 views
4

私はカバールを使用することに問題はありませんでしたが、それは理解の欠如や誤ったメンタルモデルによるものかどうかはわかりませんが、状況は厳しいものでした。Haskell ghc-modがエラーで失敗する

現時点では、私はghc-modが自分のvimプラグインで動作するようにしようとしています。これは通常、一日か二日のために働くし、エラーと一見何の理由もなく失敗を開始し、私は受信エラーが随時変更するようで、今私はこの1つを取得しています:

$ ghc-mod check Main.hs 
ghc-mod: /Users/chris/.stack/snapshots/x86_64-osx/lts-6.15/7.10.3/pkgdb/package.cache: 
GHC.PackageDb.readPackageDb: inappropriate type (Not a valid Unicode code point!) 

任意のアイデアをこの種の問題を解決する方法については?

$ cabal install ghc-mod 
Resolving dependencies... 
Downloading haskell-src-exts-1.17.1... 
Configuring haskell-src-exts-1.17.1... 
Failed to install haskell-src-exts-1.17.1 
Build log (/Users/chris/.cabal/logs/haskell-src-exts-1.17.1.log): 
cabal: Entering directory '/var/folders/6l/rdh2g5wn41s8vxchngkt02_c0000gn/T/cabal-tmp-45583/haskell-src-exts-1.17.1' 
Configuring haskell-src-exts-1.17.1... 
cabal: The program 'happy' version >=1.19 is required but it could not be 
found. 
cabal: Leaving directory '/var/folders/6l/rdh2g5wn41s8vxchngkt02_c0000gn/T/cabal-tmp-45583/haskell-src-exts-1.17.1' 
cabal: Error: some packages failed to install: 
ghc-mod-5.6.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.35 depends on haskell-src-exts-1.17.1 which failed to install. 

は編集: が第二のために離れて見てみました(私は私の秘密結社パッケージは、すべて台無しにしていると思うが、それを修正する方法がわからない)私は再びそれをインストールしようとしましたが、私はこれを取得します再び、今私はその考えを変える秘密結社のちょっと病気になって、すべての時間をこのエラーを取得しています:

このエラーは、私の地元のスタックGHCのバージョンとグローバルGHC-MOD GHCの間のミスマッチを持つことによって引き起こされた
$ ghc-mod check Main.hs 
[1 of 5] Compiling CabalHelper.Common (CabalHelper/Common.hs, /Users/chris/.ghc-mod/cabal-helper/CabalHelper/Common.o ) 
[2 of 5] Compiling CabalHelper.Licenses (CabalHelper/Licenses.hs, /Users/chris/.ghc-mod/cabal-helper/CabalHelper/Licenses.o ) 

CabalHelper/Licenses.hs:53:18: error: 
Ambiguous occurrence ‘lookupInstalledPackageId’ 
It could refer to either ‘Distribution.Simple.PackageIndex.lookupInstalledPackageId’, 
imported from ‘Distribution.Simple.PackageIndex’ at CabalHelper/Licenses.hs:24:1-39 
or ‘CabalHelper.Licenses.lookupInstalledPackageId’, 
defined at CabalHelper/Licenses.hs:38:1 

CabalHelper/Licenses.hs:74:10: error: 
Ambiguous occurrence ‘lookupInstalledPackageId’ 
It could refer to either ‘Distribution.Simple.PackageIndex.lookupInstalledPackageId’, 
imported from ‘Distribution.Simple.PackageIndex’ at CabalHelper/Licenses.hs:24:1-39 
or ‘CabalHelper.Licenses.lookupInstalledPackageId’, 
defined at CabalHelper/Licenses.hs:38:1 
ghc-mod: readCreateProcess: /Users/chris/.stack/snapshots/x86_64-osx/lts-6.15/7.10.3/libexec/cabal-helper-wrapper "--with-ghc=/usr/local/bin/ghc" "--with-ghc-pkg=/usr/local/bin/ghc-pkg" "--with-cabal=cabal" "/Users/chris/dev/formatter" "/Users/chris/dev/formatter/.stack-work/dist/x86_64-osx/Cabal-1.24.0.0" "package-db-stack" "entrypoints" "source-dirs" "ghc-options" "ghc-src-options" "ghc-pkg-options" "ghc-merged-pkg-options" "ghc-lang-options" "licenses" "flags" "config-flags" "non-default-config-flags" "compiler-version" (exit 1): failed 
+1

これは非常に楽しいとは言えませんが、['stack'](https://docs.haskellstack.org/en/stable/README/)の使用をお勧めします。それはLTSスナップショットを使ってキャバル地獄から抜け出すことが非常に簡単になります... – Alec

+0

あなたの作業環境についてもう少し教えてください。私はあなたが上記に含まれた最初の転写物のパスの一つで ".stack"を見て、あなたがすでにスタックを使用していると仮定しましたが(何とかキャブに加えて)、それは間違っているかもしれません。 –

+0

私は大部分のスタックにスタックを使用していますが、動作していないようで、カバールの助けを借りる方が簡単かもしれないと思ったのですが、間違っているかもしれません。 スタックをインストールしてghc-modをインストールして〜/ .local/bin /を自分のパスに追加しましたが、ほとんどの場合エラーが発生します –

答えて

0

バージョン、私は最新のスタックプロジェクトのghcのバージョンを更新し、すべて正常に動作しています。

関連する問題