Haskellをローカルにインストールする

自分のマシンでExercismの演習を解けるように、Haskellをローカルにインストールする方法を学びます


GHCupを入手する

Haskellのツールをインストールするには、GHCupを使う方法がおすすめです。

GHCupを使えば、インストール済みのコンパイラー、プロジェクト・パッケージマネージャー、言語サーバーをまとめて管理できます。

Stackをインストールする

Exercismの演習を進めるには、Stackさえあれば大丈夫です。

Stackをインストールするには、GHCupのインストールコマンドまたはスクリプトを実行します。デフォルトのまま進めつつ、Stackもインストールするように指定してください。

Stackのインストールをつい飛ばしてしまった、ということはありませんか? 心配いりません。あとからghcup install stackを実行すれば大丈夫です。

GHCupは次のものをインストールします。

  • コンパイラー(GHC: Glasgow Haskell Compiler)

    厳密にはExercismには必要ありませんが、演習ディレクトリの外でGHCiを試したいときに便利です。

  • Cabal

    プロジェクト・パッケージマネージャーです。Exercismでは必要ありません。

  • Stack

    Exercismで使うプロジェクト・パッケージマネージャーです。プロジェクト(演習)ごとに、適切なコンパイラーとライブラリーが揃っていることを保証してくれます。

インストールが成功したかどうかは、次のどちらかのコマンドを実行して確認できます。

  • ghcup list: 成功すると、ツールのバージョンがずらりと並び、Stackがインストール済みとして表示されます
  • stack --version: 成功すると、Version 2.7.5, Git revision ...のように表示されます

適切なGHCのバージョンを用意する

Stackは、必要になったときにGHCを自動でダウンロードしてインストールします。ターミナルで次のコマンドを実行すると、インストールを開始して確認できます。

# Note: it only makes sense to run Stack
# inside projects, so navigate into an
# exercise directory first!
exercism download --exercise=hello-world --track=haskell
cd ~/Exercism/haskell/hello-world
stack ghc -- --version

次のように出力されれば

The Glorious Glasgow Haskell Compilation System, version 8.8.4

GHCは正しくインストールされています。

エディターでHaskellを使えるようにする

Haskellのサポートは、Haskell Language Server(HLS)によって提供されます。言語サポートは必須ではありませんが、強くおすすめします。

Visual Studio Code(推奨)

Visual Studio Code用のHaskell拡張機能を入れましょう。GHCupを使ってHLSを自動でインストールしてくれるので、あとはそのままで準備完了です。

注意: ダウンロードしたばかりの演習では、HLSの起動に手間取ることがあります。その場合はstack testを実行してから、言語サーバーを再起動してください。

その他のエディター

エディター設定に関するHLSのドキュメントを参照してください。HLSを手動でインストールする必要があるかもしれません。その場合はghcup install hlsを実行します。