Julia: How to update to the latest version of a package (i.e. Flux)
Asked Answered
S

1

15

I have Julia 1.1

I want to update to the latest version of a package, in this case Flux 8.3.0 according to documentetiation of Flux.jl

when I type

Pkg.status("Flux")

I get

Status `~/.julia/environments/v1.1/Project.toml`
[587475ba] Flux v0.6.10

I also tried both:

Pkg.add("Flux")
Pkg.update("Flux")

But it does not change the version

EDIT I tried the following command after the comment from Bogumił Kamiński

Pkg.update()

gives me

  Updating registry at `~/.julia/registries/General`
┌ Warning: Some registries failed to update:
│     — `~/.julia/registries/General` — registry dirty
└ @ Pkg.Types /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Types.jl:1269
  Updating git-repo `https://github.com/MikeInnes/IRTools.jl.git`
  Updating git-repo `https://github.com/JuliaInterop/RCall.jl.git`
  Updating git-repo `https://github.com/FluxML/Zygote.jl.git`
  Updating git-repo `https://github.com/VMLS-book/VMLS.jl`
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package ZygoteRules [700de1a5]:
 ZygoteRules [700de1a5] log:
 ├─ZygoteRules [700de1a5] has no known versions!
 └─restricted to versions * by Zygote [e88e6eb3] — no versions left
   └─Zygote [e88e6eb3] log:
     ├─possible versions are: 0.3.4 or uninstalled
     └─Zygote [e88e6eb3] is fixed to version 0.3.4
Stacktrace:
 [1] check_constraints(::Pkg.GraphType.Graph) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/GraphType.jl:935
 [2] Pkg.GraphType.Graph(::Dict{Base.UUID,Set{VersionNumber}}, ::Dict{Base.UUID,Dict{Pkg.Types.VersionRange,Dict{String,Base.UUID}}}, ::Dict{Base.UUID,Dict{Pkg.Types.VersionRange,Dict{String,Pkg.Types.VersionSpec}}}, ::Dict{Base.UUID,String}, ::Dict{Base.UUID,Pkg.Types.VersionSpec}, ::Dict{Base.UUID,Pkg.Types.Fixed}, ::Bool) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/GraphType.jl:362
 [3] deps_graph(::Pkg.Types.Context, ::Dict{Base.UUID,String}, ::Dict{Base.UUID,Pkg.Types.VersionSpec}, ::Dict{Base.UUID,Pkg.Types.Fixed}) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:306
 [4] resolve_versions!(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Nothing) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:369
 [5] resolve_versions! at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:315 [inlined]
 [6] up(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:1214
 [7] #up#31(::Pkg.Types.UpgradeLevel, ::Pkg.Types.PackageMode, ::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:118
 [8] up at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:90 [inlined]
 [9] #up#30 at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:86 [inlined]
 [10] up at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:86 [inlined]
 [11] #up#27 at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:83 [inlined]
 [12] up() at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:83
 [13] top-level scope at none:0

and

Pkg.add(PackageSpec(name="Flux", version="0.8.3"))

gives me

 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package Flux [587475ba]:
 Flux [587475ba] log:
 ├─possible versions are: [0.1.0-0.1.1, 0.2.0-0.2.2, 0.3.0-0.3.4, 0.4.0-0.4.1, 0.5.0-0.5.4, 0.6.0-0.6.10] or uninstalled
 └─restricted to versions 0.8.3 by an explicit requirement — no versions left
Stacktrace:
 [1] check_constraints(::Pkg.GraphType.Graph) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/GraphType.jl:935
 [2] Pkg.GraphType.Graph(::Dict{Base.UUID,Set{VersionNumber}}, ::Dict{Base.UUID,Dict{Pkg.Types.VersionRange,Dict{String,Base.UUID}}}, ::Dict{Base.UUID,Dict{Pkg.Types.VersionRange,Dict{String,Pkg.Types.VersionSpec}}}, ::Dict{Base.UUID,String}, ::Dict{Base.UUID,Pkg.Types.VersionSpec}, ::Dict{Base.UUID,Pkg.Types.Fixed}, ::Bool) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/GraphType.jl:362
 [3] deps_graph(::Pkg.Types.Context, ::Dict{Base.UUID,String}, ::Dict{Base.UUID,Pkg.Types.VersionSpec}, ::Dict{Base.UUID,Pkg.Types.Fixed}) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:306
 [4] resolve_versions!(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Nothing) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:369
 [5] resolve_versions! at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:315 [inlined]
 [6] #add_or_develop#63(::Array{Base.UUID,1}, ::Symbol, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:1171
 [7] #add_or_develop at ./none:0 [inlined]
 [8] #add_or_develop#15(::Symbol, ::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:54
 [9] #add_or_develop at ./none:0 [inlined]
 [10] #add_or_develop#14 at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:31 [inlined]
 [11] #add_or_develop at ./none:0 [inlined]
 [12] #add_or_develop#12 at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:28 [inlined]
 [13] #add_or_develop at ./none:0 [inlined]
 [14] #add#20 at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:59 [inlined]
 [15] add(::Pkg.Types.PackageSpec) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/API.jl:59
 [16] top-level scope at none:0

I also tried the following command:

julia> Pkg.activate("."); Pkg.add("Flux")

and got:


  Updating registry at `~/.julia/registries/General`
┌ Warning: Some registries failed to update:
│     — `~/.julia/registries/General` — registry dirty
└ @ Pkg.Types /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Types.jl:1269
 Resolving package versions...
  Updating `~/Project.toml`
  [587475ba] + Flux v0.6.10
  Updating `~/Manifest.toml`
  [1520ce14] + AbstractTrees v0.2.1
  [79e6a3ab] + Adapt v0.4.1
  [9e28174c] + BinDeps v0.8.10
  [b99e7846] + BinaryProvider v0.5.3
  [944b1d66] + CodecZlib v0.5.1
  [3da002f7] + ColorTypes v0.7.5
  [5ae59095] + Colors v0.9.5
  [bbf7d656] + CommonSubexpressions v0.2.0
  [34da2185] + Compat v1.4.0
  [864edb3b] + DataStructures v0.14.0
  [163ba53b] + DiffResults v0.0.3
  [b552c78f] + DiffRules v0.0.7
  [53c48c17] + FixedPointNumbers v0.5.3
  [587475ba] + Flux v0.6.10
  [f6369f11] + ForwardDiff v0.10.1
  [e5e0dc1b] + Juno v0.5.3
  [1914dd2f] + MacroTools v0.4.4
  [e89f7d12] + Media v0.5.0
  [e1d29d7a] + Missings v0.3.1
  [872c559c] + NNlib v0.4.3
  [77ba4419] + NaNMath v0.3.2
  [bac558e1] + OrderedCollections v1.0.2
  [189a3867] + Reexport v0.2.0
  [ae029012] + Requires v0.5.2
  [a2af1166] + SortingAlgorithms v0.3.1
  [276daf66] + SpecialFunctions v0.7.2
  [90137ffa] + StaticArrays v0.10.2
  [2913bbd2] + StatsBase v0.27.0
  [3bb67fe8] + TranscodingStreams v0.8.1
  [30578b45] + URIParser v0.4.0
  [a5390f91] + ZipFile v0.8.0
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [8bb1440f] + DelimitedFiles
  [8ba89e20] + Distributed
  [b77e0a4c] + InteractiveUtils
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [37e2e46d] + LinearAlgebra
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [a63ad114] + Mmap
  [44cfe95a] + Pkg
  [de0858da] + Printf
  [9abbd945] + Profile
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA
  [9e88b42a] + Serialization
  [1a1011a3] + SharedArrays
  [6462fe0b] + Sockets
  [2f01184e] + SparseArrays
  [10745b16] + Statistics
  [8dfed614] + Test
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode

But the versions still didn't change:

julia> Pkg.status("Flux")
    Status `~/Project.toml`
  [587475ba] Flux v0.6.10
Sloth answered 24/8, 2019 at 15:1 Comment(7)
What does happen if you run Pkg.update(). Also have you tried Pkg.add(PackageSpec(name="Flux", version="0.8.3"))? If not what does happen if you try this (probably some error message might pop up, but it will help us to understand what is going on)Frock
Thanks for your comment @Bogumił Kamiński. I tried both commands and posted the error message. In the meantime, I also installed Zygote.jlSloth
what bothers me is ``~/.julia/registries/General` — registry dirty. It seems that something bad happened to it (most likely it was manually tweaked I guess). So the thing I would do is delete the registry and instantiate` it anew. But before doing that can you try doing in an empty fresh directory using Pkg; Pkg.activate("."); Pkg.add("Flux") and then check the version of Flux.jl you get (it should be 0.8.3).Frock
I edited the question according to your comment but it didn't seem to resolve the problem. Do you think that delete the registry would resolve the problem? If yes, how would you do it?Sloth
Just delete the fileBorgeson
so I deleted the directory General in ~/.julia/registries/General, ran Pkg.update(), waited 15 min that the packages would be updated an built and now I have the correct version of Flux. Many thanks @Bogumił Kamiński and @Michael K. BorregaardSloth
Right. What I usually do is move such offending directory/file to some other non-conflicting location (so that I have a backup - just in case). :)Frock
L
5

As commented by Bogumił Kamiński, deleting the .julia/registries/General directory and running Pkg.update() worked.!!

Lanceted answered 9/2, 2020 at 8:0 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.