.opam当您运行时, dune 将生成并更新项目的文件dune build,让您只需管理dune-project.
然而,在添加新的依赖项时,这似乎需要一个尴尬的步骤。我能弄清楚的唯一事件顺序似乎是:
dune-project节中depends。dune build:.opam使用新的依赖项更新文件,并失败并显示缺少新依赖项的错误。opam install . --deps-onlydune build: 成功了。这是预期的流程吗?因错误而失败的步骤dune build,以获得更新 . opam文件,似乎不正确。
作为构建步骤的一部分,是否有一个 dune 子命令仅使用 dune-project 中的依赖项更新 opam 文件,或者是否有一个 dune 子命令将更新 opam 文件并根据更新的 opam 文件更新已安装的依赖项?
或者上述事件顺序是预期的流程吗?
我是 OCaml 新手,我按照教程搭建了开发环境。然后我尝试使用沙丘和 OCaml 的helloworld示例,但遇到以下错误:
\n$ dune init exe helloworld\nSuccess: initialized executable component named helloworld\n$ dune build\nError: I cannot find the root of the current workspace/project.\nIf you would like to create a new dune project, you can type:\n\n dune init project NAME\n\nOtherwise, please make sure to run dune inside an existing project or\nworkspace. For more information about how dune identifies the root of the\ncurrent workspace/project, please refer to\nhttps://dune.readthedocs.io/en/stable/usage.html#finding-the-root\nRun Code Online (Sandbox Code Playgroud)\n目录结构:
\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 _build\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 log\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 …Run Code Online (Sandbox Code Playgroud)