🐪
書籍「プログラミング基礎」のためのOCamlセットアップ
プログラミングの基礎という書籍を読んでいます。この書籍では OCaml というプログラミング言語を使用しますが、環境構築について記します。
環境
- mac OS Big Sur(11.3.1)
- CPU: Intel
OCaml のインストール
OCaml には opam というパッケージマネージャがあります。OCaml 自体も opam でインストールできます。
# OCaml用のパッケージマネージャopamをインストール
$ brew install opam
# opamの初期設定
# コマンド実行時に聞かれる質問はとりあえずy
$ opam init
# opam init 実行した際に表示されるメッセージに従い環境変数を設定
$ eval $(opam env)
# シェルの再読み込み
$ source ~/.zshrc
# コンパイラのバージョン確認
$ opam switch
# switch compiler description
→ default ocaml-base-compiler.4.12.0 default
# 対話環境の起動
$ ocaml
OCaml version 4.12.0
#
rlwrap のインストール
ocaml
コマンドで対話環境が起動するようになりますが、矢印キーでのカーソル移動ができません。矢印キーを使うためには、rlwrap
をインストールします。
# 対話環境で矢印キーを使えるようにする
$ brew install rlwrap
# 対話環境の起動
$ rlwrap ocaml
OCaml version 4.12.0
日本語入力、表示の確認
対話環境で日本語の入力、表示が問題なければ、書籍を読み進めていくための準備は完了です。
# "あ";;
- : string = "あ"
VSCode で書きたい
拡張機能は、インストール数が多い、OCaml and Reason IDEを利用します。この拡張機能を利用するために、Ocaml の LanguageServerProtocol と、Merlin という Ocaml の開発支援ツールをインストールする必要があります。
OCaml Language Server Protocol のインストール
# OCaml Language Server Protocolのインストール
$ opam pin add ocaml-lsp-server https://github.com/ocaml/ocaml-lsp.git
$ opam install ocaml-lsp-server
Merlin のインストール
# OCamlの開発支援ツールであるMerlinのインストール
$ opam install merlin
エラー: Cannot find merlin binary at "ocamlmerlin"が出る場合
ocaml-lsp-server
とmerlin
をインストールすれば、VSCode の拡張機能が利用できるはずですが、私の環境ではCannot find merlin binary at "ocamlmerlin
のエラ〜メッセージが表示され、利用できませんでした。
VSCodeのsettings.json
に以下の設定を追記して利用できるようになりました。
{
"reason.path.ocamlmerlin": "/Users/{UserName}/.opam/default/bin/ocamlmerlin"
}
参考資料
以下の記事、issue を参考にさせて頂きました。
OCaml の環境構築 | Qiita
OCaml を始める | Qiita
OCaml の補完とフォーマットを VSCode 上で実現するための試行錯誤 | blog.ojisan.io
Cannot find merlin binary at "ocamlmerlin" | GitHub
Discussion
書籍「プログラミングの基礎」を読もうと思ったときに、本記事に辿り着きました。
非常に参考になり、無事に環境構築を終えることができました。ありがとうございます🙇♂️
1点だけ気になったのが、rlwrapのインストールでタイポを見つけました。
# 対話環境の起動
でrlwrap
がrlwarp
になっております。コピペするとエラー(zsh: command not found: rlwarp
)が発生するので、もし可能でしたら、修正をお願いしたいです。ほんとですね!ご指摘ありがとうございます。修正しました!