文件
產生文件
安裝特定 OCaml 編譯器版本
簡而言之
使用
opam switch set
手動選擇要使用的切換環境,並使用dune-workspace
自動在不同環境中執行指令。
編譯環境使用 opam 切換環境管理。典型的工作流程是為專案設定一個本地 opam 切換環境,但有時您可能需要選擇不同的編譯環境(即不同的編譯器版本)。例如,在較舊/較新的 OCaml 版本上執行單元測試。
為此,您需要建立全域 opam 切換環境。要使用給定版本的編譯器建立 opam 切換環境,您可以使用
opam switch create 4.14.0 ocaml-base-compiler.4.14.0
這將建立一個名為 4.14.0
的新切換環境,並使用編譯器版本 4.14.0
。
可以使用以下方式檢索可用的編譯器版本列表
opam switch list-available
這將列出所有已設定的 Opam 儲存庫的可用編譯器版本。
一旦您建立了切換環境(或者您已經有一個想要使用的切換環境),您可以執行
opam switch set <switch_name>
eval $(opam env)
以使用此切換環境設定目前的環境。
如果是新的切換環境,您需要重新安裝您的相依性(請參閱「安裝相依性」),使用 opam install . --deps-only
。
或者,您可能希望在給定的一組編譯環境中自動執行指令。為此,您可以在專案根目錄建立一個檔案 dune-workspace
,並在其中列出您想要使用的 opam 切換環境
(lang dune 2.0)
(context (opam (switch 4.11.0)))
(context (opam (switch 4.12.0)))
(context (opam (switch 4.13.0)))
您將執行的所有 Dune 指令都將在列出的所有切換環境中執行。例如,使用上面的定義
dune runtest --workspace dune-workspace
Dune 將為 OCaml 4.11.0
、4.12.0
和 4.13.0
執行測試。