我正在开发一个也已经注册的软件包。因此,我在我的开发文件夹中拥有一个版本(“C:/ Users / / .julia / dev”),并且我还安装了最新的已注册版本,就好像我没有开发它一样。 因此,我的问题是,当我需要使用开发版本时,如何确保使用开发版本? 看起来,如果我不删除已注册的版本,则只会使用此版本而不是开发版本,即使我将开发路径添加到Julia的加载路径中也是如此。
我正在开发一个也已经注册的软件包。因此,我在我的开发文件夹中拥有一个版本(“C:/ Users / / .julia / dev”),并且我还安装了最新的已注册版本,就好像我没有开发它一样。 因此,我的问题是,当我需要使用开发版本时,如何确保使用开发版本? 看起来,如果我不删除已注册的版本,则只会使用此版本而不是开发版本,即使我将开发路径添加到Julia的加载路径中也是如此。
您应该使用 Pkg.develop
和 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
从状态结果中可以看到您使用的包的版本信息。
另请参阅:
pkg.dev
只是使用我已经在开发中拥有的版本。我以为它会用新版本覆盖它,也就是始终从注册的版本开始一个全新的开发版本。 - rvezy