如何检查Julia中的项目清单是否完整?

log*_*ick 3 julia

我试图确保manifest.toml我Julia项目的文件完整,以便任何人都可以复制我项目的结果。我知道我可以使用Travis或任何其他干净的环境,但如果可能的话,我正在寻找基于Julia的本地解决方案。

问题最初发布在这里

crs*_*nbr 5

  1. 导航到项目文件夹。

  2. export JULIA_LOAD_PATH=.(或set JULIA_LOAD_PATH=.在Windows上)

  3. 开始julia

  4. ] instantiate 该项目

  5. 运行您的项目代码(最重要的是using语句)。

这样,julia将仅使用项目的toml文件中指定的软件包(和版本)。特别是,对于每个不存在的软件包,您都会得到错误。

背景:在LOAD_PATH(称为JULIA_LOAD_PATH朱以外)变量指定的指向朱莉娅环境路径的堆栈。默认情况下,它包含三个条目,

julia> LOAD_PATH
3-element Array{String,1}:
 "@"
 "@v#.#"
 "@stdlib"
Run Code Online (Sandbox Code Playgroud)

扩展到当前的活动环境(@),例如v.1.2环境(@v#.#)等(? LOAD_PATH有关详细信息,请参见)。如果有一段代码试图usingimport打包,Julia将在这些目录的toml文件中按顺序(从上到下)查找它。这意味着通常可以加载X仅存在于v.1.2环境中但不存在于当前项目中的程序包(即,该项目不是自包含的)。通过上面的过程,我们从LOAD_PATH变量中删除了这些路径,仅保留了当前项目环境。