Ubuntu18.04にhaskell-stackの環境を構築したときのメモです。
基本的に公式に書いてあるとおりなのですが、公式ドキュメント内でもあちらを見ろこちらを見ろと飛ばされることや一部つまづいた箇所があったのでメモします。
1. つまづく手順
1-1. パッケージマネージャからインストール
sudo apt install haskell-stack
問題なくインストールされるはずです。
1-2. stackのアップグレード
公式ドキュメント内に「ディストリビューションのStackはバージョンが遅れがちだからインストール後に更新することをオススメする」というようなことが書かれています。
なのでstack upgrade --binary-only
を実行しstackをアップグレードします。
1-3. stackのセットアップ
アップグレード完了後にstack setup
を実行します。
AesonException "Error in $.packages.cassava.constraints.flags['bytestring--lt-0_10_4']: Invalid flag name: \"bytestring--lt-0_10_4\""
おやおやおや〜?
こんな感じのエラーが出ると思います。
stackのリポジトリでもIssue切られていました。
2. つまづかない手順
※上記項番1の手順を試していた場合、システムのhaskell-stackはsudo apt remove haskell-stack
とかで削除しておいてください
2-1. インストールスクリプトの実行
curl -sSL https://get.haskellstack.org/ | sh
または
wget -qO- https://get.haskellstack.org/ | sh
を実行します。
上記「つまづく手順」を実行してしまっているとaptで消してもゴミが残ってインストールスクリプトがWarnを吐くかもしれません。
その場合はshに-f
オプションつけてあげてください。
2-2. 環境セットアップ
stackのインストールが完了したらセットアップを行います。
$ stack setup
環境のセットアップが行われますが諸々ダウンロード等も行うので環境によっては時間がかかります。
2-3. インストール後のちょい設定
パスが通っていない場合や、stack経由なのでコマンドがstack ghc
になるなどがあります。
そのため少し設定をしました。
# set PATH for stack command(haskell-stack).
PATH="$HOME/.local/bin:$PATH"
# set stack ghc aliases
alias ghci='stack ghci'
alias ghc='stack ghc --'
alias runghc='stack runghc --'
以上です。