如何确保 Julia 代码和相关依赖项的可重复性?

Ale*_*lec 2 dependencies julia reproducible-research

假设我有一个项目正在执行分析(即不打算开发可共享的包),但我想确保其他人可以克隆存储库并实例化依赖项并按编写的方式运行代码。

到目前为止我采取的步骤:

  1. 在它自己的文件夹中创建代码
  2. 使该文件夹成为 Julia 环境(通过activate .REPL 的包模式)
  3. add编辑我正在使用的软件包

这是否锁定了依赖项的版本?还是我需要手动将[compat]条目添加到Project.toml文件中?如果[compat]需要 entreis,有没有办法add在打包时自动包含该条目?

是否有确保可重复性的总体方法?

Kri*_*son 5

这是否锁定了依赖项的版本?

如果你提交你Project.tomlManifest.toml然后有人可以克隆回购协议,启动该项目,并做import Pkg; Pkg.instantiate()下载的记录清单中的完全相同的版本。