HaskellをLinuxにインストールする方法について解説します。具体的には、Ubuntu 22.04 LTSを対象にします。
Haskellの環境構築
Haskellは、高度な純粋関数型プログラミング言語で、強力な型システムと静的型付けを特徴としています。関数型プログラミングを学ぶには最適な言語のひとつです。
本記事では、Haskellの開発環境をLinuxで用意するための方法について紹介しますが、Windowsでも環境は用意できます。Windowsにインストールする方法は「Haskellのインストール方法(Windows)」でまとめているのでLinuxをお使いの方はこちらを参考にしてください。
なお、Haskellは、WindowsとLinuxの両方の環境で使用されますが、一般的にはLinuxがより好まれる傾向にあります。これは、多くの開発者やシステム管理者がLinuxを好むため、より多くのオープンソースプロジェクトや開発ツールがLinux環境に最適化されているためです。HaskellはどちらのOSでも動作しますが、Linux環境では特にパッケージ管理や環境設定が容易であると言われています。
ただし、これは一般的な傾向であり、特定のプロジェクトやチームによってはWindows環境でHaskellを積極的に使用している場合もあります。また、開発者の個人的な好みや特定のプロジェクトの要件によっても、使用されるOSは異なる可能性がありますので必要に応じて検討してください。
本記事では、Haskellの開発環境をLinuxで用意する方法について説明します。なお、本記事の前提として使用したOSとしては、Ubuntu 22.04.3 LTS (64bit)とします。なお、異なるバージョンのUbuntuや同じDebian系のLinuxのディストリビューションであれば同様にインストールができる可能性があります。
Haskellのインストール
Haskell関連のインストールは、Haskellの公式ダウンロードページの情報を参考に行います。
![Haskell Download](https://haskell-tech.nkhn37.net/wp-content/uploads/2024/01/image-1024x763.png)
本記事では、GHCのインストーラーであるGHCupを使用してGHCのインストールを行います。
GHC (Glasgow Haskell Compiler)は、最も広く使われているHaskellコンパイラであり、GHCupは、Haskell環境構築のためのインストーラのことです。
インストール手順
Haskellダウンロードページの「GHCup」ボタンをクリックすると、GHCupのページに遷移します。初期表示時にはWindowsのインストールに関する表示のみとなっていますが、「Show all platforms」ボタンをクリックすることで、Linux等に関するインストールコマンドも表示されます。
![Haskell Install](https://haskell-tech.nkhn37.net/wp-content/uploads/2024/01/image-1-1024x620.png)
Ubuntuのターミナル(端末)でインストールのための以下コマンドを実行します。上記画面のコピーボタンからコピーできます。
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
curlは、URLからデータを転送するためのコマンドラインツールです。上記のコマンドを簡単に説明すると以下のようになります。
コマンド | 概要 |
---|---|
--proto '=https' | HTTPSプロトコルを使用する |
--tlsv1.2 | TLS(Transport Layer Security)のバージョン1.2を使用する |
-sSf | -s (サイレントモード)、-S (エラーが発生した場合にエラーメッセージを表示)、-f (サーバーエラーが発生した場合に失敗)というオプションの組み合わせ |
https://get-ghcup.haskell.org | GHCupのURL |
| sh | シェルにパイプでつなげて実行 |
curlコマンドが見つからず実行できない場合は、以下でcurlをインストールしてから再度実行してください。
sudo apt install curl
curlを実行すると以下のような画面が表示されます。指示に従って「ENTER」をクリックしてください。
![Haskell Install](https://haskell-tech.nkhn37.net/wp-content/uploads/2024/01/image-3.png)
bash shellの設定ファイルである.bashrcに自動で必要なパスを追加するか確認があるため、「P」を入力してENTERをクリックします。
![Haskell Install](https://haskell-tech.nkhn37.net/wp-content/uploads/2024/01/image-6-1024x212.png)
haskell-language-server (HLS)のインストールをするか確認があります。HLSは、Haskellプログラミング言語のための高度な言語サーバーで、Haskell開発において多くの利点を提供してくれるため、インストールしておきます。「Y」を入力してENTERをクリックします。
![Haskell Install](https://haskell-tech.nkhn37.net/wp-content/uploads/2024/01/image-7.png)
stackの設定を実行するか確認があります。「Y」を入力して有効化するようにします。stackは、Haskellのプロジェクト管理およびビルドのためのツールです。
![Haskell Install](https://haskell-tech.nkhn37.net/wp-content/uploads/2024/01/image-8-1024x255.png)
インストールの確認が出るので、ENTERをクリックしてインストールを開始します。
![](https://haskell-tech.nkhn37.net/wp-content/uploads/2024/01/image-9-1024x119.png)
インストールが開始されます。ダウンロードなどのコマンドが順次表示されていくので、しばらく待ちましょう。
![Haskell Install](https://haskell-tech.nkhn37.net/wp-content/uploads/2024/01/image-10-1024x176.png)
インストールがすべて完了して以下のような表示になればHaskellのインストールは完了です。
![Haskell Install](https://haskell-tech.nkhn37.net/wp-content/uploads/2024/01/image-12.png)
インストールの途中で確認にあった.bashrcには、パスの情報が追加されていますが、反映するために以下を実行します。
source ~/.bashrc
上記でHaskellのインストールは一通り完了です。
【インストール時のエラー】
インストール時に以下のようなエラーが発生する場合があります。(私はここで理由が分からず少し時間がかかりました。)
![Haskell Install Error](https://haskell-tech.nkhn37.net/wp-content/uploads/2024/01/image-11-1024x95.png)
理由としてはコンパイルに必要なmakeやclangが不足していたためでした。上記のようなエラーが発生した場合には、sudo apt install
を使ってmakeやclangをインストールしてから、再度Haskellのインストールを実行してみてください。
sudo apt install make
sudo apt install clang
環境や状況によっては、上記変更で改善しない場合があるかもしれません。同じようなエラーが発生した場合には、試してみていただければと思います。
GHCiの実行
Haskellの実行環境の確認する方法としては、GHCのインタラクティブな対話型シェルであるGHCiを確認してみることです。ターミナル(端末)で以下を実行してみてください。
ghci
以下のように表示されれば、GHCのインストールはできています。
![](https://haskell-tech.nkhn37.net/wp-content/uploads/2024/01/image-13.png)
上記実行結果を見てみると、libgmp.soというGMP(GNU Multiple Precision Arithmetic Library)がシステム上に存在しない、または見つからないというwarningが表示されています。
GMPは、任意精度の数値計算を行うためのフリーでオープンソースのソフトウェアライブラリで、暗号学、科学技術計算、数式処理システム、アルゴリズム研究など、高精度計算が必要な多くの分野で使用されています。以下コマンドでインストールしておきましょう。
sudo apt install libgmp-dev
上記を実行後に再度「ghci」を実行するとwarningは消えて、GHCiを使用することができるようになります。
![](https://haskell-tech.nkhn37.net/wp-content/uploads/2024/01/image-14.png)
GHCiは、インタラクティブな対話型シェルのため、その場で計算を実行したり、Haskellプログラム(.hs)をロードして実行するといったことが可能です。「GHCiの主要なコマンド」でGHCiの主要なコマンドを説明しているので、参考にして触ってみてもらえると面白いかと思います。
Haskellの開発環境の準備
Haskellがインストールできたら開発環境を準備して実際の開発をします。
Haskellの開発環境としては、他の言語の開発でもよく使用されるVisual Studio Code (VSCode)が使用できます。VSCodeは、拡張機能の豊富さ、そしてHaskell Language Serverとの互換性により、シンタックスハイライト、コード補完などの機能が利用できます。
VSCodeでの環境の準備方法については「VSCodeでHaskellの開発環境を構築する方法」でまとめていますので参考にしてください。
まとめ
HaskellをLinuxにインストールする方法について解説しました。具体的には、Ubuntu 22.04 LTSを対象にしています。
Haskellは、高度な純粋関数型プログラミング言語で、強力な型システムと静的型付けを特徴としています。Haskell環境を構築して、是非Haskellでのプログラム開発や学習に役立ててもらえたらと思います。
なお、記事冒頭でも紹介したようにHaskellはWindowsでも環境を構築できます。Windowsにインストールしたい場合は「Haskellのインストール方法(Windows)」を参考にしてください。