朱莉娅(Julia):一定要使用软件包的dev版本

4

我正在开发一个也已经注册的软件包。因此,我在我的开发文件夹中拥有一个版本(“C:/ Users / / .julia / dev”),并且我还安装了最新的已注册版本,就好像我没有开发它一样。 因此,我的问题是,当我需要使用开发版本时,如何确保使用开发版本? 看起来,如果我不删除已注册的版本,则只会使用此版本而不是开发版本,即使我将开发路径添加到Julia的加载路径中也是如此。

1个回答

11

您应该使用 Pkg.develop Pkg.free 来在包的开发版本和稳定版本之间切换(或在 pkg 管理器模式下使用 devfree 命令)。然后,您可以使用 Pkg.status 查看当前活动的版本。以下是一个示例:

julia> Pkg.status("DataFrames")
    Status `C:\Users\bogum\.julia\environments\v1.2\Project.toml`
  [a93c6f00] DataFrames v0.19.4

julia> Pkg.develop("DataFrames")
[ Info: Path `C:\Users\bogum\.julia\dev\DataFrames` exists and looks like the correct package, using existing path
 Resolving package versions...
  Updating `C:\Users\bogum\.julia\environments\v1.2\Project.toml`
  [a93c6f00] ↑ DataFrames v0.19.4 ⇒ v0.19.4+ [`C:\Users\bogum\.julia\dev\DataFrames`]
  Updating `C:\Users\bogum\.julia\environments\v1.2\Manifest.toml`
  [a93c6f00] ↑ DataFrames v0.19.4 ⇒ v0.19.4+ [`C:\Users\bogum\.julia\dev\DataFrames`]
  [9a8bc11e] + DataStreams v0.4.2

julia> Pkg.status("DataFrames")
    Status `C:\Users\bogum\.julia\environments\v1.2\Project.toml`
  [a93c6f00] DataFrames v0.19.4+ [`C:\Users\bogum\.julia\dev\DataFrames`]

julia> Pkg.free("DataFrames")
 Resolving package versions...
  Updating `C:\Users\bogum\.julia\environments\v1.2\Project.toml`
  [a93c6f00] ↓ DataFrames v0.19.4+ [`C:\Users\bogum\.julia\dev\DataFrames`] ⇒ v0.19.4
  Updating `C:\Users\bogum\.julia\environments\v1.2\Manifest.toml`
  [a93c6f00] ↓ DataFrames v0.19.4+ [`C:\Users\bogum\.julia\dev\DataFrames`] ⇒ v0.19.4
  [9a8bc11e] - DataStreams v0.4.2

julia> Pkg.status("DataFrames")
    Status `C:\Users\bogum\.julia\environments\v1.2\Project.toml`
  [a93c6f00] DataFrames v0.19.4

从状态结果中可以看到您使用的包的版本信息。

另请参阅:


非常感谢!我之前并不清楚 pkg.dev 只是使用我已经在开发中拥有的版本。我以为它会用新版本覆盖它,也就是始终从注册的版本开始一个全新的开发版本。 - rvezy
这是我理解文档中“请注意,软件包管理器永远不会触及已跟踪路径下的任何文件。”这句话的方式 :)。 - Bogumił Kamiński
好的,我不确定“tracked path”是什么意思。我相信我还有很多关键词需要学习。 - rvezy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接