如何解决如何确保Julia代码和相关依赖性的可重复性?
说我有一个项目正在执行分析(即不希望开发可共享的软件包),但我想确保其他人可以克隆存储库并实例化依赖项并按编写的方式运行代码。
到目前为止我已经采取的步骤:
此锁是否锁定依赖项的版本?还是我需要手动将[compat]
项添加到Project.toml
文件中?如果需要[compat]
entreis,add
打包时是否可以自动添加该条目?
是否有确保可重复生产性的整体方法?
解决方法
此锁是否锁定了依赖项的版本?
如果您提交Project.toml
和Manifest.toml
,那么有人可以克隆该存储库,激活该项目,然后执行import Pkg; Pkg.instantiate()
下载清单中记录的完全相同的版本。
此锁是否锁定了依赖项的版本?
是的,在某种意义上说,确切的版本记录在Manifest.toml
文件中,只要该文件没有被修改,它们就被锁定。
还是我需要手动将
[compat]
项添加到Project.toml
文件中?
您不必这样做。仅当某人执行调用解析程序的打包操作时,例如pkg> add ...
或pkg> up
,这才有意义。如果您的代码依赖于某个特定版本的软件包,则可以始终将其添加到[compat]
部分。例如,如果您依赖需要软件包X
1.3.0版的功能,则可以添加
[compat]
X = "1.3"
这将确保即使有人调用程序包解析器,您也将至少获得程序包X
的1.3版。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。