Юлия `Pkg.checkout` вызывает ʻUndefVarError: checkout not defined`
Я устанавливаю пакет, используя Pkg
модуль:
using Pkg
Pkg.add("DataFrames")
Pkg.checkout("Flux") # for the bleeding edge version of Flux
и это не удается:
Updating registry at `~/.julia/registries/General`
Updating git-repo `git://github.com/JuliaRegistries/General.git`
Resolving package versions...
Installed InvertedIndices ─ v1.0.0
Installed PooledArrays ──── v0.5.3
Installed DataFrames ────── v0.20.2
Updating `~/.julia/environments/v1.3/Project.toml`
[a93c6f00] + DataFrames v0.20.2
Updating `~/.julia/environments/v1.3/Manifest.toml`
[a93c6f00] + DataFrames v0.20.2
[41ab1584] + InvertedIndices v1.0.0
[2dfb63ee] + PooledArrays v0.5.3
UndefVarError: checkout not defined
Stacktrace:
[1] getproperty(::Module, ::Symbol) at ./Base.jl:13
[2] top-level scope at In[1]:3
Как это исправить?
Мое окружение Джулии:
julia> versioninfo()
Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)
Platform Info:
OS: macOS (x86_64-apple-darwin18.6.0)
CPU: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.1 (ORCJIT, skylake)
Environment:
JULIA_NUM_THREADS = 4
1 ответ
Решение
Согласно документации, начиная с Julia v. 1.0Pkg
больше не поддерживает checkout
функция. Вы можете сделать то же самое (и более компактно - не проверяя весь репозиторий), используя:
Pkg.add(PackageSpec(name="Flux", rev="master")) # you can use commit hash too
Что эквивалентно:
julia> ]
pkg> add Flux#master
Вы также можете использовать определенную версию библиотеки:
julia> ]
pkg> add Flux@v0.10.3
(эквивалент: Pkg.add(PackageSpec(name="Flux", version="v0.10.3")
)