两个不同的Julia项目及其toml

两个不同的Julia项目及其toml,julia,toml,Julia,Toml,当两个不同的项目toml文件具有相同的项目名称和相同的仓库路径时会发生什么情况?实例化一个会导致另一个的缓存过时吗?我假设缓存是指存储在仓库中的包集 Pkg.instantiate()将确保活动依赖关系图(由清单文件指定)中存在的所有包版本都存在于仓库路径的某个位置。通常,Pkg将任何给定项目所需的依赖项集与存储在仓库中的包集解耦。这就是Julia的项目如此轻量级的原因:不同的项目可以自由共享依赖项,这样就不会有不必要的重复 事实上,两个不同的项目具有相同的名称,这与这个过程没有任何关系 注意:

当两个不同的项目toml文件具有相同的项目名称和相同的仓库路径时会发生什么情况?实例化一个会导致另一个的缓存过时吗?

我假设缓存是指存储在仓库中的包集

Pkg.instantiate()
将确保活动依赖关系图(由清单文件指定)中存在的所有包版本都存在于仓库路径的某个位置。通常,
Pkg
将任何给定项目所需的依赖项集与存储在仓库中的包集解耦。这就是Julia的项目如此轻量级的原因:不同的项目可以自由共享依赖项,这样就不会有不必要的重复

事实上,两个不同的项目具有相同的名称,这与这个过程没有任何关系

注意:尽管一个给定的项目只能有一个版本的依赖项,但仓库可以自由地存储同一个包的任意多个版本



如果您指的是预编译缓存:同一个包的多个版本相互碰撞时出现问题。应该是在Julia 1.3中。

我首先对两个项目使用“每个包”进行“激活、实例化”,然后使用“-compiled modules=no”同时运行这两个项目,这会导致它们因预编译缓存问题而失败,尽管两者在隔离运行时运行良好。如果不是预编译问题,我得到了LoadError for Packages您可以创建一个MWE来显示您所面临的问题吗?这将更容易调试。另外,你所说的仓库路径是什么意思?你的意思并不是说JULIA_DEPOT_PATH,是吗?我正在设置一个不同的DEPOT PATH,但JULIA仍然是指home directory中的路径。我将把这作为一个不同的问题发布。