2

ocaml コンパイラが少なくとも 4.05.0 であることを指定する dune-project ファイルがあります。

必要なものがすべて適切にインストールされていることを確認するために構成ファイルを作成しました ( と を組み合わせて使用Unix.open_process_in "which <executabe>"​​)dune external-lib-deps --missing @@defaultが、OCaml バージョンの場合は次のように記述する必要がありました。

let e = Sys.ocaml_version in
match String.split_on_char '.' e with
| major :: minor :: patchlevel :: _
  when int_of_string major >= 4
       && int_of_string minor >= 5
       && int_of_string patchlevel >= 0 ->
    printf "%s@," e
| _ -> printf "version < 4.05.0"

しかし、バージョン要件を変更する必要がある場合、このチェックに反映されず、手動で変更する必要があるため、あまり好きではありません。

必要な OCaml パッケージがすべてインストールされていることを確認する方法はありますdune external-lib-deps --missing @@defaultか? (必ずしも OCaml コンパイラだけでなく、バ​​ージョンにバインドされている各パッケージに対しても?)

依存関係の指定は論理式であるため、構成ファイルに SMT ソルバーを実装できないため、opam の背後にあるソルバーがそれを実行してくれることを願っていました。

4

0 に答える 0