OPamを使ってOCamlのバージョン変更が出ない場合の解決法
auです。
OCamlの環境を構築していたのですが、OCamlのバージョンを変えなければいけなくなったのでやってみました。
その際に、Opam自体をアップデートしても変化がなかったので解決法を書いておこうと思います。
OCamlの環境は、だいぶ前にこのサイトのようなイメージで構築しました。
qiita.com
環境
macOS Catalina 10.15.7
opam: stable 2.0.7 (bottled), HEAD
やりたかったこと
やりたかったことは、OCamlを4.08.1から4.09.1に変更することです。
コンパイラの確認をします。これを行う前にopamのアップデートを行っています。
$ opam switch list-available compiler 中略 ocaml-base-compiler 4.07.0 Official release 4.07.0 ocaml-base-compiler 4.07.1 Official release 4.07.1 ocaml-base-compiler 4.08.0 Official release 4.08.0 ocaml-base-compiler 4.08.1 Official release 4.08.1
4.09.1がリストに入っていません。
$opam init をしても変化はありませんでした。
解決法
.opamフォルダを削除することで解決しました。
僕の場合は、「/Users/username/.opam」でした。
削除後には正常に表示されました。
$ opam init $ opam switch list-available compiler ocaml-base-compiler 4.08.1 Official release 4.08.1 ocaml-base-compiler 4.09.0 Official release 4.09.0 ocaml-base-compiler 4.09.1 Official release 4.09.1 ocaml-base-compiler 4.10.0 Official release 4.10.0 ocaml-base-compiler 4.10.1 Official release 4.10.1 ocaml-base-compiler 4.11.0 Official release 4.11.0 ocaml-base-compiler 4.11.1 Official release 4.11.1
若干無理やり感は否めませんが解決できました。
インストーラーの何かを再度読み込むことができれば解決できたのかなとも思ったのですが、やり方を知らないのでこんな感じの解決法になりました。
あとは使いたいバージョンを指定して作成してください。
$ opam switch create 4.09.1 $ opam switch 4.09.1 $ ocamlc -version 4.09.1
無事にバージョンの変更ができました!