Julia 朱莉娅:一定要使用开发版本的软件包

Julia 朱莉娅:一定要使用开发版本的软件包,julia,Julia,我正在开发一个也已注册的软件包。因此,我的dev文件夹中有一个版本(“C:/Users/.julia/dev”),我还安装了最新的注册版本,就好像我没有开发它一样。 所以我的问题是,我如何确保在需要时使用dev版本? 看起来,如果我不删除注册版本,它只使用这个版本而不是dev版本,即使我将dev路径添加到Julia的加载路径中 您应该使用Pkg.develope和Pkg.free在包的开发版本之间来回移动(或者在Pkg管理器模式下使用dev和free命令)。然后可以使用Pkg.status查看当

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

您应该使用
Pkg.develope
Pkg.free
在包的开发版本之间来回移动(或者在Pkg管理器模式下使用
dev
free
命令)。然后可以使用
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
正如您在status result中看到的,您有一个信息,说明使用了哪个版本的软件包

另见:

  • (关于开发软件包)
  • (关于读取状态输出)

非常感谢!我不清楚
pkg.dev
是否只使用了我已经在开发中的版本。我认为它会用新版本覆盖它,即总是从注册的版本开始一个新的开发版本。这就是我如何理解“注意,包管理器将永远不会接触跟踪路径上的任何文件。”文档中的句子:)。好的。我不确定跟踪路径是什么。我相信我还有很多关键词要学。