Edited at

stackとghc-modを一緒に使う時の手順

More than 3 years have passed since last update.

一緒に使う事に何も難しい部分はありませんが、後で忘れた時の為にメモ


stackのインストール

https://github.com/commercialhaskell/stack/releases からDLして適当にインストール、またはインストール済みのstackでstack upgradeして更新。

この記事ではstackのバージョンは1.0.0以降を想定しています。


ghc-modのインストール


LTS-3系を使用する場合

~/.stack/global-project/stack.yamlまたは~/.stack/global/stack.yamlに次の記述を追加します。

extra-deps:

- ghc-mod-5.5.0.0
- cabal-helper-0.6.3.1

書いたらstack install ghc-mod cabal-helperでインストールします。


LTS-4系を使用する場合

stack install ghc-modでインストールします。

ghc-modは5.4.0.0、cabal-helperは0.6.3.0がインストールされます。

ghc-mod-5.5.0.0/cabal-helper-0.6.3.1をインストールする場合はLTS-3系を使用する場合と同じ設定をします。


LTS-5系を使用する場合

stack install ghc-modでインストールします。

ghc-modは5.5.0.0、cabal-helperは0.6.3.1がインストールされます。


cabal-installをインストール

※ghc-mod-5.5.0.0/cabal-helper-0.6.3.1の場合はこの作業は不要です。

cabal-helperがcabalコマンドを使うのでstack install cabal-installでインストールします。

インストール出来たらstack exec cabal updateしておきます。


cabal-helper-wrapperコマンドの初回のCabalのインストールを手動で実行

※ このステップは必須ではありません。

※ cabal-helper-0.6.3.1以降はならこのステップは省いても問題ないと思います(0.6.3.0だけ何か遅かった)。

cabal-helper-wrapperコマンドは初回実行時にCabalライブラリをcabal-helper用に~/.ghc-mod/cabal-helperにインストールします。

エディタのプラグインからghc-modを呼んだ時にこれが起こるときっとイライラすると思うので、先に適当な.hsファイルに対してghc-mod checkを行ってcabal-helper-wrapperにCabalをインストールさせます。


準備完了

これでghc-modが使えるようになっていると思います。