OCaml Set Up (With WSL and OPAM)
WSL に OCaml をインストールする。
環境
エディション Windows 11 Education
バージョン 22H2
OS ビルド 22621.382
エクスペリエンス Windows Feature Experience Pack 1000.22632.1000.0
WSL
ドキュメント
wsl のインストールに関する Microsoft の公式ドキュメントは下記にある。
ドキュメントの対象はバージョン 2004 からになっている。Windows Update を定期的に適用していれば、Windows のバージョンは 21H2 などになっているはずである。今回は先日公開された 22H2 を使うが、大きく違いはないと思う。
インストール
-
cmd
で検索をしてコマンドプロンプトを開く。
- Linux の環境として Ubuntu をインストールする。
wsl --install
- 実行後
C:\Users\admin>wsl --install
要求された操作には管理者特権が必要です。
インストール中: 仮想マシン プラットフォーム
仮想マシン プラットフォーム はインストールされました。
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
インストール中: Ubuntu
Ubuntu はインストールされました。
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。
再起動をする。再起動後に自動で Ubuntu が立ち上がる。ユーザー作成とパスワード設定を行う。その後、コマンドプロンプトを開き、
- wsl に関するパッケージの更新
wsl --update
コマンド実行後に更新があれば Windows の再起動を行ったほうが良いかもしれない。
Ubuntu
Ubuntu のインストールを行ったので、Ubuntu 内の設定を行う。
apt
apt は Ubuntu にインストールされているパッケージ管理システムである。新しくソフトウェアをインストールしたい場合に用いる。
- パッケージ一覧の更新を行い、それを元にパッケージの更新を行う。
sudo apt update -y; sudo apt upgrade -y
opam
opam は OCaml 用のパッケージマネージャーである。
- インストールを行う。
sudo apt install opam -y
opam 設定
opam をインストールすると OCaml を使用することができるが、opam の設定を行うと OCaml のバージョンを変更したり、他のパッケージを管理することができる。
- opam のインストール
opam init
-
~/.profile
設定
Do you want opam to modify ~/.profile? [N/y/f]
(default is 'no', use 'f' to choose a different file) y
y
を選択した場合 ~/.profile
に設定を書き込んでログイン時に opam
を有効にするようにする。各自で好きな選択を行うとよい。
- opam init hook
A hook can be added to opam's init scripts to ensure that the shell remains in sync with the opam environment when they
are loaded. Set that up? [y/N] n
y
を選択した場合 opam の init スクリプトを実行するときに opam の環境を同期したままにできる。よく分からない。各自で好きな選択を行うとよい。
- 環境変数の更新
eval $(opam env)
opam で用いる環境変数の更新を行う。
OCaml バージョン
- OCaml バージョンの確認
ocaml --version
opam switch
実行例
$ ocaml --version
The OCaml toplevel, version 4.08.1
$ opam switch
# switch compiler description
→ default ocaml-system.4.08.1 default
- OCaml バージョンの候補
opam switch list-available | grep base
実行例
$ opam switch list-available | grep base
(省略)
ocaml-base-compiler 4.11.0 Official release 4.11.0
ocaml-base-compiler 4.11.1 Official release 4.11.1
ocaml-base-compiler 4.11.2 Official release 4.11.2
ocaml-base-compiler 4.12.0~alpha1 First alpha release of OCaml 4.12.0
ocaml-base-compiler 4.12.0~alpha2 Second alpha release of OCaml 4.12.0
ocaml-base-compiler 4.12.0~alpha3 Third alpha release of OCaml 4.12.0
ocaml-base-compiler 4.12.0~beta1 First beta release of OCaml 4.12.0
ocaml-base-compiler 4.12.0~beta2 Second beta release of OCaml 4.12.0
ocaml-base-compiler 4.12.0~rc1 First release candidate of OCaml 4.12.0
ocaml-base-compiler 4.12.0 Official release 4.12.0
ocaml-base-compiler 4.12.1 Official release 4.12.1
ocaml-base-compiler 4.13.0~alpha1 First alpha release of OCaml 4.13.0
ocaml-base-compiler 4.13.0~alpha2 Second alpha release of OCaml 4.13.0
ocaml-base-compiler 4.13.0~beta1 First beta release of OCaml 4.13.0
ocaml-base-compiler 4.13.0~rc1 First release candidate of OCaml 4.13.0
ocaml-base-compiler 4.13.0~rc2 Second release candidate of OCaml 4.13.0
ocaml-base-compiler 4.13.0 Official release 4.13.0
ocaml-base-compiler 4.13.1 Official release 4.13.1
ocaml-base-compiler 4.14.0~alpha1 First alpha release of OCaml 4.14.0
ocaml-base-compiler 4.14.0~alpha2 Second alpha release of OCaml 4.14.0
ocaml-base-compiler 4.14.0~beta1 First beta release of OCaml 4.14.0
ocaml-base-compiler 4.14.0~rc1 First release candidate of OCaml 4.14.0
ocaml-base-compiler 4.14.0~rc2 Second release candidate of OCaml 4.14.0
ocaml-base-compiler 4.14.0 Official release 4.14.0
ocaml-base-compiler 5.0.0~alpha0 Zeroth alpha release of OCaml 5.0.0
ocaml-base-compiler 5.0.0~alpha1 First alpha release of OCaml 5.0.0
- OCaml インストール
opam switch create 4.14.0
eval $(opam env)
公式リリースで最新版である 4.14.0 をインストールする。インストール後に環境変数を更新する。
utop
utop は OCaml の REPL である。カラフルで賢そうなのでインストールするとよさそうだか、私の使用経験がない。
- インストール
opam install core core_bench utop
Real World OCaml によると依存として core
が必要らしい。
- 設定
#require "core.top";;
#require "ppx_jane";;
open Base;;
上記内容を ~/.ocamlinit
を作成して書き込む。vim
などのエディタを使用すると良い。
vim ~/.ocamlinit
エディタ
ここでは Visual Studio Code を扱う。
- lsp
opam install ocaml-lsp-server
eval $(opam env)
- 起動
code .
Windows に VS Code がインストールしてある場合は wsl 上で code
を実行すると WSL の実行環境で VS Code を開くことができる。VS Code の拡張機能である Remote Development がインストールされていないといけないかもしれない。Windows 上の VS Code であらかじめインストールしておく。
自分の開いているディレクトリを開きたい場合は .
で指定して開く。
- OCaml Platform
VS Code で OCaml のコーディングの支援を行う拡張機能をインストールする。事前に Windows にインストールしてあるとよい気がする。
Discussion