我在win10上将Julia从v1.1
升级到v1.3
,但是这些软件包在新版本中丢失了。
在v1.1
$ julia_1.1
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.1.0 (2019-01-21)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
(v1.1) pkg> status
Status `C:\Users\User\.julia\environments\v1.1\Project.toml`
[c52e3926] Atom v0.11.3
[4c0ca9eb] Gtk v0.18.0
[f67ccb44] HDF5 v0.12.4
[4138dd39] JLD v0.9.1
[e5e0dc1b] Juno v0.7.2
[23992714] MAT v0.6.0
[91a5bcdd] Plots v0.26.3
[b8865327] UnicodePlots v1.1.0
[8f399da3] Libdl
但是这些软件包未显示在v1.3
$ julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.3.0 (2019-11-26)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
(v1.3) pkg> status
Status `C:\Users\User\.julia\environments\v1.3\Project.toml`
[c52e3926] Atom v0.11.3
[67c07d97] Automa v0.8.0
[e5e0dc1b] Juno v0.7.2
我尝试使用update
,但仍然没有显示。
并且我确保DEPOT_PATH
具有相同的文件夹("C:\\Users\\User\\.julia"
)并在其中包含所有添加的软件包。
# (in v1.3)
julia> DEPOT_PATH
3-element Array{String,1}:
"C:\\Users\\User\\.julia"
"D:\\app\\Julia\\1.3.0\\local\\share\\julia"
"D:\\app\\Julia\\1.3.0\\share\\julia"
我该如何解决?在我的记忆中,这不会在Linux中发生,对吗? (我在相同容量的docker中使用了不同版本。)
答案 0 :(得分:2)
Julia的每个次要和主要版本(MAJOR.MINOR.PATCH
)都使用自己的名为vMAJOR.MINOR
的环境。例如,对于茱莉亚1.3.0
,该环境被命名为v1.3
,正如您在Pkg REPL模式中在pkg>
之前的括号中所看到的那样。
当您从1.1.x更新到1.3.0时,您因此从环境v1.1
切换到v1.3
,该环境默认不包含任何程序包。在每个操作系统上都会发生这种情况。
我们如何将包裹从v1.1
转移到v1.3
?
环境反映在.julia/enironments
中的文件夹中。这些文件夹中的两个文件Manifest.toml
和Project.toml
代表各自的环境。您可以简单地创建文件夹v1.1
的副本并将其命名为v1.3
。然后,启动Julia 1.3 REPL,为安全起见,执行] instantiate
,这将确保已正确安装所有组件。就是这样。
答案 1 :(得分:1)
当您写status
时,会打印出一条路径。您可以将1.1上打印的文件夹复制到1.3上打印的文件夹(该文件夹仅包含两个文本文件)。
答案 2 :(得分:0)
否。
要在次要版本之间进行升级(并且在主要版本之间也应如此,例如1.x-> 2.y),则无需重新下载所有软件包,只需在下面创建一个新文件夹v1.x
[JULIA_INSTALL_DIR]/environments
,然后从其中要使用相同软件包(例如Project.toml
)的文件夹中复制两个文件Manifest.toml
和v1.(x-1)
。
例如,要在Linux中从Julia 1.4升级到Julia 1.5,请在安装新的二进制文件后,键入一个终端:
$ cd ~/.julia/environments/
$ mkdir v1.5
$ cp v1.4/Project.toml v1.5/
$ cp v1.4/Manifest.toml v1.5/
然后,当您julia
吃午餐时,您将使用packege(using xxx
),然后您会注意到julia将“只是”针对特定的Julia版本(及其所有依赖项)预编译该软件包,因此可能需要一段时间),但无需重新下载该软件包。