Hi,
I found a weird behavior of the update
command in Pkg.jl, which looks a bug to me. But I’m not perfectly sure so let me ask here before filing an issue on the repository.
Imagine a situation where you have DataStructures.jl v0.17.5 and Example.jl v0.5.1 installed. Both packages are independent of each other and have newer versions now, so running update
without any options updates both packages to the latest versions.
The update
command has the --fixed
option, which is explained as “if the --fixed upgrade level is given, then the following packages will not be upgraded at all.” My understanding from this description is that if you run update --fixed X Y Z
all installed packages except for X, Y, and Z will be updated to the latest compatible versions. However, in the situation above, running update --fixed Example
didn’t update DateStructures.jl to the latest version:
(v1.3) pkg> st
Status `~/.julia/environments/v1.3/Project.toml`
[864edb3b] DataStructures v0.17.5
[7876af07] Example v0.5.1
(v1.3) pkg> up --fixed Example
Updating registry at `~/.julia/registries/General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
Resolving package versions...
Updating `~/.julia/environments/v1.3/Project.toml`
[no changes]
Updating `~/.julia/environments/v1.3/Manifest.toml`
[no changes]
Of course, just running update
updated both packages as expected:
(v1.3) pkg> st
Status `~/.julia/environments/v1.3/Project.toml`
[864edb3b] DataStructures v0.17.5
[7876af07] Example v0.5.1
(v1.3) pkg> up
Updating registry at `~/.julia/registries/General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
Resolving package versions...
Updating `~/.julia/environments/v1.3/Project.toml`
[864edb3b] ↑ DataStructures v0.17.5 ⇒ v0.17.6
[7876af07] ↑ Example v0.5.1 ⇒ v0.5.3
Updating `~/.julia/environments/v1.3/Manifest.toml`
[864edb3b] ↑ DataStructures v0.17.5 ⇒ v0.17.6
[7876af07] ↑ Example v0.5.1 ⇒ v0.5.3
julia> versioninfo()
Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: AMD Ryzen 5 2400G with Radeon Vega Graphics
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.1 (ORCJIT, znver1)
Environment:
JULIA_PROJECT = @.
Thank you in advance.