Pkgκ° μ무κ²λ λ³κ²½νμ§ μμκΈ° λλ¬Έμ μ¬κΈ°μμ΄ λ¬Έμ λ₯Ό μ΄λ©΄ libgit2 μ κ·Έλ μ΄λ (# 32806)μ κ΄λ ¨μ΄μμ μ μμ΅λλ€.
$ julia13 -e 'using Pkg; Pkg.Registry.update()'
Updating registry at `~/.julia/registries/General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
β Warning: Some registries failed to update:
β β /home/fredrik/.julia/registries/General β failed to fetch from repo
β @ Pkg.Types ~/julia13/usr/share/julia/stdlib/v1.3/Pkg/src/Types.jl:1189
$ julia12 -e 'using Pkg; Pkg.Registry.update()'
Updating registry at `~/.julia/registries/General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
Macμμ λλ₯Ό μν΄ μλν©λλ€.
μ’μ΅λλ€. μ λ Linuxλ₯Ό μ¬μ©νκ³ μμ΅λλ€. # 32806μ λ λλ¦¬λ©΄μ΄ λ¬Έμ κ° ν΄κ²°λ©λλ€.
ν¨ν€μ§ μ½λκ°μλ μ¬μκΈ° :
julia> import LibGit2
julia> repo = LibGit2.GitRepo("/home/fredrik/.julia/registries/General");
julia> remoteurl = "https://github.com/JuliaRegistries/General.git";
julia> LibGit2.fetch(repo; remoteurl=remoteurl)
ERROR: GitError(Code:ERROR, Class:Net, unrecognized URL prefix)
Stacktrace:
[1] #fetch#62(::LibGit2.FetchOptions, ::String, ::typeof(LibGit2.fetch), ::LibGit2.GitRemote, ::Array{AbstractString,1}) at /home/fredrik/julia-master/usr/share/julia/stdlib/v1.4/LibGit2/src/error.jl:101
[2] #fetch at /home/fredrik/julia-master/usr/share/julia/stdlib/v1.4/LibGit2/src/remote.jl:297 [inlined]
[3] #fetch#115(::String, ::String, ::Array{AbstractString,1}, ::Nothing, ::Dict{Symbol,Tuple{Ptr{Nothing},Any}}, ::typeof(LibGit2.fetch), ::LibGit2.GitRepo) at /home/fredrik/julia-master/usr/share/julia/stdlib/v1.4/LibGit2/src/LibGit2.jl:290
[4] (::LibGit2.var"#kw##fetch")(::NamedTuple{(:remoteurl,),Tuple{String}}, ::typeof(LibGit2.fetch), ::LibGit2.GitRepo) at /home/fredrik/julia-master/usr/share/julia/stdlib/v1.4/LibGit2/src/LibGit2.jl:272
[5] top-level scope at REPL[4]:1
μλ§λ κ΄λ ¨μ΄ μμ : μ€λ macOSμ Julia 1.0.4μμ λμΌν μ€λ₯κ° λ°μνμ΅λλ€. ν°λ―Έλμ λ μ§μ€νΈλ¦¬λ‘ μ΄λνμ¬ git fetch
. κ·Έ ν Pkg μ
λ°μ΄νΈκ° κ²½κ³ μμ±μ μ€μ§νμ΅λλ€.
μλ§λ κ΄λ ¨μ΄ μμ : μ€λ macOSμ Julia 1.0.4μμ λμΌν μ€λ₯κ° λ°μνμ΅λλ€. ν°λ―Έλμ λ μ§μ€νΈλ¦¬λ‘ μ΄λνμ¬ git fetchλ₯Ό μ€ννμ¬ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€. κ·Έ ν Pkg μ λ°μ΄νΈκ° κ²½κ³ μμ±μ μ€μ§νμ΅λλ€.
κ·Έκ²μ λλ₯Ό μν΄ κ·Έκ²μ κ³ μΉμ§ λͺ»νμ΅λλ€. λν λ€λ₯Έ κΈ°κ³μμ μλνμ§λ§ μ¬ν ν μ μμμ΅λλ€. λλ²κΉ λ°©λ²μ λν μμ΄λμ΄κ° μμ΅λκΉ?
unrecognized URL prefix
λν λμΌν μ€λ₯ λ©μμ§μ ν¨κ» μ²μλΆν° 볡μ λ μ€ν¨ν©λλ€.
μ΄κ²μ μΌλ° λ°μ΄λ리 btwμμλ λ°μν©λλ€.
μ΄κ²μ λλ²κΉ νλ κ°λ₯ν λ―Έλμ λ°©λ²μ ccallsλ‘ μ€μ΄κ³ μ€λ₯κ° μμ±λλ libgit2λ₯Ό μ‘°μ¬νλ κ²μ λλ€.
import LibGit2
const repo_url = "https://github.com/JuliaRegistries/General.git"
const repo_path = "/tmp/General"
const credentials = nothing
const callbacks = LibGit2.Callbacks()
const cred_payload = LibGit2.reset!(LibGit2.CredentialPayload(credentials))
callbacks[:credentials] = (LibGit2.credentials_cb(), cred_payload)
const lbranch = Base.cconvert(Cstring, "")
const remote_callbacks = LibGit2.RemoteCallbacks(callbacks)
const fetch_opts = LibGit2.FetchOptions(callbacks=remote_callbacks)
const clone_opts = LibGit2.CloneOptions(
bare = Cint(false),
checkout_branch = Cstring(C_NULL),
fetch_opts = fetch_opts,
remote_cb = C_NULL
)
LibGit2.ensure_initialized()
const clone_opts_ref = Ref(clone_opts)
const repo_ptr_ptr = Ref{Ptr{Cvoid}}(C_NULL)
ccall((:git_clone, :libgit2), Cint,
(Ptr{Ptr{Cvoid}}, Cstring, Cstring, Ref{LibGit2.CloneOptions}),
repo_ptr_ptr, repo_url, repo_path, clone_opts_ref)
-1
λ°νν©λλ€.
FWIW λ μμ λͺ¨λ μ΅μ λ§μ€ν°μμ μλν©λλ€. λ€λ₯Έ μ¬λμ΄ λ²μ ν μ μμ΅λκΉ?
@fredrikekre git ꡬμ±μ κ²μ ν μ μμ΅λκΉ?
ν₯λ―Έλ‘κ²λ .gitconfig
νμΌμ λ€μκ³Ό κ°μ΄ μ€μμ΅λλ€.
[http]
proxy =
μ κ±°κΈ°μ μλμ§ μ λͺ¨λ₯΄κ² μ΅λλ€. μ§μ μΆκ°νμ§ μμ κ² κ°μ΅λλ€. κ°μ [email protected]μ΄ μ΄ μ€ν¨νμ§λ§, [email protected]μ μμ‘μ΄λ₯Ό (λ³΄ν΅ μμμμ²λΌ)
libgit2 0.28 λ¦΄λ¦¬μ€ λ ΈνΈμμ΄ μ κ³Ό κ΄λ ¨μ΄μμ μ μμ΅λλ€.
μ΄μ HTTP νλ‘μ μ§μμ΄ κΈ°λ³Έ μ 곡λ©λλ€. libcurlμ λ μ΄μ μ§μνλ λ° μ¬μ©λμ§ μμ΅λλ€.
νλ‘μμ΄λ©° μ’ μμ±μΌλ‘ μ κ±°λ©λλ€.
libgit2μ λν λ¬Έμ λ₯Ό μ κΈ° ν μ μμ΅λκΉ? https://github.com/JuliaLang/julia/pull/32806 μμ gitcredential.jlμ λν λ³κ²½ μ¬νμ λλ릴 μλ μμ΅λλ€ (νΉμ ν μ€νΈμλ νμνμ§λ§ λλΆλΆμ μμ μλ νμνμ§ μμ).
λΉμ΄μλ http.proxy
κ°μλ κ²μ΄ μ’ μ΄μνκΈ° λλ¬Έμ λ§μΌμ€ν€μμ μ κ±°νκ³ , 1.3.1 λ±μμ libgit2λ₯Ό μ
κ·Έλ μ΄λ ν μ μμ΅λλ€.
λΉμ·ν κ²μ μ¬ν ν μ μμ§λ§ μμμ λ³΄λΈ μ€ λν«μ -12
λ°νν©λλ€. μ΅κ·Ό 컀λ°μμ λμ
λ κ²μΌλ‘ 보μ
λλ€. julia 1.2.0μ μ μμ μΌλ‘ μ€νλμ§λ§ 1.3.0-rc1 λ° λ§μ€ν° / μ΅μ nightlies (47f2800747)λ μ€ν¨ν©λλ€.
μ΄ λ¬Έμ λ νκ²½ λ³μλ‘ μ€μ λ http(s)_proxy
μμλ λμκ² λνλ¬μ΅λλ€. μ΄λ₯Ό λ°©μ§νλ €λ©΄ μ€μ μ ν΄μ ν΄μΌν©λλ€ (λΉ λ¬Έμμ΄λ‘ μ€μ νμ§ μμ).
@tkluck μ μμ κ°μ¬λ립λλ€-λΆννλ http_proxy λ° http_proxyλ₯Ό μ€μ ν΄μ ν΄λ λ λ§μ μ°¨μ΄λ₯Ό λ§λ€μ§ λͺ»ν©λλ€-μ¬μ ν -12
λ°ν μ½λ :(
λ°©κΈμ΄ λ¬Έμ κ° λ°μνμΌλ©° λ¦΄λ¦¬μ€ -1.0, λ¦΄λ¦¬μ€ -1.3 λ° λ§μ€ν° λΈλμΉμμ μΈ κ°μ μλ‘ λΉλ λ Julia λ°μ΄λλ¦¬λ‘ ν
μ€νΈ κ²°κ³Όλ₯Όλ³΄κ³ νκ³ μΆμ΅λλ€. (λΉλ μ€λ₯λ‘ μΈν΄ λ¦΄λ¦¬μ€ 1.2λ₯Ό ν
μ€νΈ ν μ μμμ΅λλ€.) μΈ κ°μ§ ν
μ€νΈ λͺ¨λ λΉ ~/.julia
. http_proxy
λ° https_proxy
νκ²½ λ³μλ ~/.bashrc
μ μλμ΄ μμ΅λλ€.
λ¦΄λ¦¬μ€ -1.0 (μ€λ₯ μμ) :
julia> VERSION
v"1.0.6-pre.0"
(v1.0) pkg> update
Resolving package versions...
Cloning default registries into /Users/MY_USER_ID/.julia/registries
Cloning registry General from "https://github.com/JuliaRegistries/General.git"
Fetching: [========================================>] 99.9 %
λ¦΄λ¦¬μ€ -1.3 (μ€λ₯) :
julia> VERSION
v"1.3.0-rc3.0"
(v1.3) pkg> update
Cloning default registries into `~/.julia`
Cloning registry from "https://github.com/JuliaRegistries/General.git"
ERROR: Git repository not found at 'https://github.com/JuliaRegistries/General.git'
λ§μ€ν° (μ€λ₯) :
julia> VERSION
v"1.4.0-DEV.298"
(v1.4) pkg> update
Cloning default registries into `~/.julia`
Cloning registry from "https://github.com/JuliaRegistries/General.git"
ERROR: Git repository not found at 'https://github.com/JuliaRegistries/General.git'
μ΄ λ¬Έμ κ° κ³§ ν΄κ²°λκΈ°λ₯Ό λ°λλλ€.
http_proxy
μ νν μ¬λμκ° λλ½ λμμ΅λκΉ? https://github.com/libgit2/libgit2/issues/5255 μ°Έμ‘°
@kcajf , μ루μ μ΄ μλν©λλ€! μ λ§ κ³ λ§μ΅λλ€!!!
λ€λ₯Έ κ²½μ°μλ νλ‘μ ν¬νΈ λ²νΈ λμ /
λ₯Ό λ£λ κ²μ΄ ν΄κ²°μ±
μ
λλ€. μλ₯Ό λ€μ΄ ~/.bashrc
μμλ
export http_proxy=http://your.proxy.address:8080/
λμ μ
export http_proxy=http://your.proxy.address:8080
νμ¨. νν μ¬λμκ° μλμ§ μ¬λΆλ₯Ό κ±±μ νλ κ²μ μ±κ°μ libgit2
μ
λλ€.
λ€. μ μ€νΈλ¦Όμμ μμ νλ κ²μ΄ μ΄λ €μΈ κ²μ΄λΌκ³ μμν μλ μμ§λ§ λ¬Έμ λ 1.3.0μ ν©λ¦¬μ μΈ μκ° λ΄μ λ°μν μ μλμ§ μ¬λΆμ λλ€. ννμλ μ¬λμκ° λ μΌλ°μ μΈ νμμ΄λΌκ³ μκ°νκΈ° λλ¬Έμ λ§μ κΈ°μ Julia μ¬μ©μμκ² λ¬Έμ κ° λ κ²μΌλ‘ μμν©λλ€.
νκ²½ λ³μλ₯Ό μ°Ύκ³ νν μ¬λμκ°μλ κ²μ κ°μ§νκ³ μμ νμ¬ μ΅μ’ μ μΌλ‘ μμ ν μ μμ΅λλ€. Juliaμλ§ κ΅νλμ§ μμ μ¬μ©μ νκ²½ λ³μλ₯Ό μλ§μΌλ‘ λ§λλ κ²μ μ½κ° μ΄μν©λλ€. λ¬Έμ λ₯Ό λμ΄ μ£ΌλλΌλ μννλ€κ³ λκ»΄μ§λλ€ ...
~ / .gitconfig λ° κΈ°ν λͺ κ³³μμλ μ νν μ μμΌλ―λ‘ μ 체μ μΈ μ루μ μ΄ μμ΅λλ€.
libgit2 κ°λ°μλ μμ§ κ·Έκ²μ λν΄ μΈκΈνμ§ μμμ΅λλ€. μλ§λ κ·Έκ²μ λ¨μ§ κ°λ μΌ κ²μ λλ€. κ·Έλ μ§ μλ€λ©΄ μ°λ¦¬λ κ·Έλ€μ΄ μ΄κ²μ λ°κΎΈλλ‘ μ€λ ν μ μμ΅λλ€ ...
κ·Έλ€μ κ·Έ μ΄νλ‘ μ£Όμμ λ¬μμΌλ©° μ΄κ²μ΄ λ€μ libgit2 릴리μ€μμ μμ λ κ²μΌλ‘ 보μ λλ€.
1.3μμ 1.1μμ μ κ·Έλ μ΄λνλ©΄
(v1.3) pkg> up
Updating registry at `~/.julia/registries/General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
β Warning: Some registries failed to update:
β β /home/levitta/.julia/registries/General β failed to fetch from repo
β @ Pkg.Types /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Types.jl:1199
Resolving package versions...
rm -rf .julia
μ΄νμ
(v1.3) pkg> up
Cloning default registries into `~/.julia`
Cloning registry from "https://github.com/JuliaRegistries/General.git"
ERROR: Git repository not found at 'https://github.com/JuliaRegistries/General.git'
λλ λν νλ‘μ λ€μ μκ³ λ΄ http_proxy, https_proxy λ° caps λ²μ μ΄ λͺ¨λ μ¬λ°λ₯΄κ² μ€μ λμ΄ μμ΅λλ€ (νν μ¬λμ ν¬ν¨).
νΈμ§ : λλ 1.1κ³Ό 1.2μμ μλνλ€κ³ μΈκΈν΄μΌν©λλ€.
edit2 : μ, μμ μ€ν¬λ¦½νΈλ -12λ₯Ό λ°νν©λλ€.
μ€μ μ€λ₯ λ©μμ§λ₯Ό μΆμΆνλ λ°©λ²μ μ¬κΈ° μ½λλ₯Ό μ°Έμ‘°νμμμ€. https://github.com/libgit2/libgit2/issues/5255#issuecomment -540705608
νλ‘μ URLμ νκ²½ λ³μμμ κ°μ Έμ¬ μ μμ§λ§ ~/.gitconfig
κ°μ λ€λ₯Έ μμΉμμλ κ°μ Έμ¬ μ μμ΅λλ€. μ΄μ©λ©΄ κ·Έλ€μ λ€λ₯Έ κ³³μμ μ€μ λκ³ μμ΅λκΉ? libgit2κ° κ°μ§νλ μ΅μ’
νλ‘μ URLμ μΈμνλλ‘ ν μ μλ€λ©΄ μ’μ κ²μ
λλ€.
μ΄ λ¬Έμ κ° κΈ°μ λ° λν μ¬μ©μλ€μκ² λ§μ λ¬Έμ λ₯Ό μΌμΌν¬κΉ λ΄ κ±±μ λ©λλ€. libgit2κ° κ³§ λ§μ΄λ μ€λ¦¬μ λ²μ μ ν¬ν¨λ μμλ μ λ°μ΄νΈλ₯Ό μΆμνκΈ°λ₯Ό λ°λλλ€.
μ, μμ£Ό μ’μ μΊμΉ, μ€μ λ‘ .gitconfig
μ μ€μ λμ΄ env λ³μμ μ°μ ν©λλ€. κ·Έκ²μΌλ‘ μλν©λλ€!
νν μ¬λμκ° μμ μ΄μ§λ§ μ λ§ λ©μ²ν λ¨μ .....
λμνλ€. Julia λ²κ·Έκ° μλλΌ libgit2 λ²κ·Έμ λλ€. μ΅μ libgit2μμ μμ λμ΄μΌν©λλ€.
Julia 1.3.1μ μ¬μ ν λ¬Έμ
@staticfloat :
λ§μ§λ§μΌλ‘ libgit2λ₯Ό λ€μ λΉλνμ λ (μ : μ BB μ€λλ‘ λ€μ λΉλ) https://github.com/JuliaLang/julia/commit/e44652ab03ce384444bddfaca270c04b42d968a8
λ§μ§λ§μΌλ‘ libgit2 λ²μ μ μ κ·Έλ μ΄λνμ λ https://github.com/JuliaLang/julia/commit/d0b5d9850fb7b51c7831d3897ad46e4d3478d322
μμ μ¬νμ΄ ν¬ν¨ λ νΉμ λ²μ μ΄ νμν κ²½μ° μλ € μ£Όμλ©΄ μ λ²μ μ λΉλνκ² μ΅λλ€.
0.28.4μλ λ§μ 보μ μμ μ¬νμ΄ μμΌλ―λ‘ μ κ·Έλ μ΄λν΄μΌν κΉμ?
0.24.4λ https://github.com/libgit2/libgit2/commit/c6ab183e9c960b74471a7d106a4deb0c8b28a8ec μ ν¬ν¨νμ§ μλ κ² κ°μ΅λλ€. ).
κ·Έλμ λ¬Έμ λ libgit2λ₯Ό ν¨μΉν μ§ μλλ©΄μ΄ μμ μ¬νμ ν¬ν¨νλ 릴리μ€λ₯Ό λ§λ€ λκΉμ§ κΈ°λ€λ¦΄ μ§ μ¬λΆμ λλ€.
νλ‘μκ° μμκ³ μ΄ λ¬Έμ κ° λ°μνμ΅λλ€. libgit2λ₯Ό 0.99.0
μμ 0.27.8
λ‘ λ€μ΄ κ·Έλ μ΄λνμ¬ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€.
νλ‘μκ° μμκ³ μ΄ λ¬Έμ κ° λ°μνμ΅λλ€. libgit2λ₯Ό
0.99.0
μμ0.27.8
λ‘ λ€μ΄ κ·Έλ μ΄λνμ¬ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€.
νμΈν μ μμ΅λλ€. λλ λν νλ‘μλ₯Ό μ€μ νμ§ μκ³ (μ μ΄λ .gitconfig
)μ΄ λ¬Έμ κ° λ°μνμ΅λλ€. libgit2λ₯Ό 0.99.0
μμ 0.27.8
λ‘ λ€μ΄ κ·Έλ μ΄λνμ¬ λκ°μ λ°©μμΌλ‘ μμ νμ΅λλ€.
νλ‘μκ° μμκ³ μ΄ λ¬Έμ κ° λ°μνμ΅λλ€. libgit2λ₯Ό
0.99.0
μμ0.27.8
λ‘ λ€μ΄ κ·Έλ μ΄λνμ¬ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€.νμΈν μ μμ΅λλ€. λλ λν νλ‘μλ₯Ό μ€μ νμ§ μκ³ (μ μ΄λ
.gitconfig
)μ΄ λ¬Έμ κ° λ°μνμ΅λλ€. libgit2λ₯Ό0.99.0
μμ0.27.8
λ‘ λ€μ΄ κ·Έλ μ΄λνμ¬ λκ°μ λ°©μμΌλ‘ μμ νμ΅λλ€.
Arch Linuxμμλμ΄ κΈ°λ₯μ΄ μμ΅λλ€-libgit2λ 1 : 0.99.0-2μ λλ€.
libgit2 λ€μ΄ κ·Έλ μ΄λλ μ΅μ μ΄ μλλλ€. λ΄ .gitconfigμ λ£μ 무μΈκ°κ° νμνμ¬ λ€λ₯Έ κ²μ κΉ¨μ§ μκ³ μ¬λΌμ§κ²νκ±°λ Juliaμμ μμ ν΄μΌν©λλ€.
$ julia --version
julia version 1.3.1
...
julia> using Pkg
julia> Pkg.add("IJulia")
Cloning default registries into `~/.julia`
Cloning registry from "https://github.com/JuliaRegistries/General.git"
ERROR: failed to clone from https://github.com/JuliaRegistries/General.git, error: GitError(Code:ERROR, Class:Invalid, invalid version 0 on git_proxy_options)
Stacktrace:
[1] top-level scope at REPL[2]:1
caused by [exception 1]
GitError(Code:ERROR, Class:Invalid, invalid version 0 on git_proxy_options)
Stacktrace:
[1] top-level scope at REPL[2]:1
곧 μΆμ λ Julia 1.4λ₯Ό JULIA_PKG_SERVER=pkg.julialang.org
μ ν¨κ» μ¬μ©ν μ μμΌλ©° λ±λ‘ λ ν¨ν€μ§ μ€μΉμ libgit2λ₯Ό μ ν μ¬μ©νμ§ μμ΅λλ€.
μ΄ λ²κ·Έμ λμν©λλ€. μ λ manjaroλ₯Ό μ¬μ©νκ³ μμ΅λλ€. libgit2κ° 0.99λ‘ μ κ·Έλ μ΄λλκ³ μ μ€λ¦¬μ νκ²½ (1.3.1)μ΄ μ§κΈ μ€λ¨λμμ΅λλ€ .... μ€λ¦¬μλ₯Ό μ μ»΄ν¨ν°μ μ€μΉνμ΅λλ€. κ·Έκ²μ λν κΉ¨μ‘μ΅λλ€. λ²κ·Έλ githubμ λ μ§μ€νΈλ¦¬ μ λ°μ΄νΈμλ§ μν₯μ λ―ΈμΉλ€λ κ²μ μμμ΅λλ€. νμ§λ§ ~ / .julia / registries / General μλμ λ±λ‘μ΄ μλμΌλ‘ 볡μ λμ΄λ ν¨ν€μ§λ₯Ό μ€μΉν μ μμ΅λλ€. μ λ°μ΄νΈλ μλμΌλ‘ μ²λ¦¬ ν μ ββμλ€κ³ κ°μ ν©λλ€ ...
μΈμ μ΄λ° μΌμ΄ μΌμ΄λ κΉμ?
곧 μΆμ λ Julia 1.4λ₯Ό
JULIA_PKG_SERVER=pkg.julialang.org
μ ν¨κ» μ¬μ©ν μ μμΌλ©° λ±λ‘ λ ν¨ν€μ§ μ€μΉμ libgit2λ₯Ό μ ν μ¬μ©νμ§ μμ΅λλ€.
λ¦΄λ¦¬μ€ ν보 λλ JuliaPro 1.3 μ μ¬μ©νλ©΄ μ§κΈ λ°λ‘ μν ν μ μμ΅λλ€.
freebsdμμ libgit2λ₯Ό 0.99λ‘ μ
κ·Έλ μ΄λνλλ° κ°μ λ¬Έμ κ° λ°μνμ΅λλ€. pkgμ λν ν΄κ²° λ°©λ²μ ~/.julia/registries/General
μλμΌλ‘ μ
λ°μ΄νΈνλ κ²μ
λλ€.
λμ libgit2 리ν¬μ§ν 리μλ³΄κ³ νμμμ€ (https://github.com/libgit2/libgit2/issues/5220μ μ€λ³΅μ΄ μλ κ²½μ° ν΄λΉ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ).
λκΈμλ³΄κ³ λ LibGit2 0.99.0μ λ¬Έμ λ μλ λ²κ·Έ λ³΄κ³ μμ κ΄λ ¨μ΄ μμ΅λλ€. λμ λ¬Έμ # 35043μ μ°Έμ‘°νκ³ μ μ λ μμ μ¬νμ PR # 35232λ₯Ό μ°Έμ‘°νμΈμ.
곧 μΆμ λ Julia 1.4λ₯Ό
JULIA_PKG_SERVER=pkg.julialang.org
μ ν¨κ» μ¬μ©ν μ μμΌλ©° λ±λ‘ λ ν¨ν€μ§ μ€μΉμ libgit2λ₯Ό μ ν μ¬μ©νμ§ μμ΅λλ€.
μ΄ ν΄κ²° λ°©λ²μ μνκΉκ²λ μλνμ§ μμΌλ©° julia 1.4λ₯Ό μ¬μ©νκ³ μμ΅λλ€.
@getzze μ€λ¦¬μλ₯Ό μ΄λ»κ² λΆλ¬? λ³λμ μ
Έ ν둬ννΈμμ Juliaλ₯Ό νΈμΆνκΈ° μ μ μ
Έμμ JULIA_PKG_SERVER
νκ²½ λ³μλ₯Ό export
μμ΄ λ²λ¦¬ μ
¨λμ?
ν΄κ²° λ°©λ²μ _Julia_ 1.4.0μ μ¬μ©νλ _Arch Linux_μμ μλν©λλ€.
[tamer<strong i="10">@zinc</strong> ~]$ pacman -Q libgit2 julia
libgit2 1:0.99.0-2
julia 2:1.4.0-1
[tamer<strong i="11">@zinc</strong> ~]$ rm -r ~/.julia/registries/General/
[tamer<strong i="14">@zinc</strong> ~]$ julia -e 'using Pkg; Pkg.update()'
Cloning default registries into `~/.julia`
Cloning registry from "https://github.com/JuliaRegistries/General.git"
ERROR: failed to clone from https://github.com/JuliaRegistries/General.git, error: GitError(Code:ERROR, Class:Invalid, invalid version 0 on git_proxy_options)
Stacktrace:
[1] up(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}; level::Pkg.Types.UpgradeLevel, mode::Pkg.Types.PackageMode, update_registry::Bool, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /build/julia/src/julia-1.4.0/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:206
[2] up at /build/julia/src/julia-1.4.0/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:201 [inlined]
[3] #up#47 at /build/julia/src/julia-1.4.0/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:196 [inlined]
[4] up at /build/julia/src/julia-1.4.0/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:196 [inlined]
[5] #up#44 at /build/julia/src/julia-1.4.0/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:193 [inlined]
[6] up() at /build/julia/src/julia-1.4.0/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:193
[7] top-level scope at none:1
caused by [exception 1]
GitError(Code:ERROR, Class:Invalid, invalid version 0 on git_proxy_options)
Stacktrace:
[1] up(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}; level::Pkg.Types.UpgradeLevel, mode::Pkg.Types.PackageMode, update_registry::Bool, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /build/julia/src/julia-1.4.0/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:206
[2] up at /build/julia/src/julia-1.4.0/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:201 [inlined]
[3] #up#47 at /build/julia/src/julia-1.4.0/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:196 [inlined]
[4] up at /build/julia/src/julia-1.4.0/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:196 [inlined]
[5] #up#44 at /build/julia/src/julia-1.4.0/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:193 [inlined]
[6] up() at /build/julia/src/julia-1.4.0/usr/share/julia/stdlib/v1.4/Pkg/src/API.jl:193
[7] top-level scope at none:1
[tamer<strong i="17">@zinc</strong> ~]$ JULIA_PKG_SERVER=pkg.julialang.org julia -e 'using Pkg; Pkg.update()'
Cloning default registries into `~/.julia`
######################################################################## 100.0%
Added registry `General` to `~/.julia/registries/General`
Updating registry at `~/.julia/registries/General`
Updating `~/.julia/environments/v1.4/Project.toml`
[no changes]
Updating `~/.julia/environments/v1.4/Manifest.toml`
[no changes]
μ΄λ―Έ λ μ§μ€νΈλ¦¬λ₯Ό git 볡μ λ³ΈμΌλ‘ κ°μ§κ³ μλ€λ©΄ Pkg μλ²λ₯Ό μ¬μ©νλ λμ κ³μν΄μ git 볡μ λ³ΈμΌλ‘ μ¬μ©νλ―λ‘ μμ ν΄μΌν©λλ€.
κ°μ¬ν©λλ€. μ΄μ μ λ μ§μ€νΈλ¦¬λ₯Ό μ κ±°ν΄μΌνλ€λ κ²μ μμ§ λͺ»νμ΅λλ€.
κ·Έλ¬λ μΌλΆ ν¨ν€μ§μ κ°λ° λ²μ μ μ¬μ©νκ³ μμΌλ―λ‘ gitμμ κ°μ ΈμμΌνκ³ νλμ ν¨ν€μ§λ₯Ό κ°μ Έ μ€μ§ λͺ»νλ©΄ λͺ¨λ μ
λ°μ΄νΈκ° μ€ν¨ν©λλ€.
Julia 1.4.0μ μ€νν©λλ€. νλ‘μλ₯Ό μ¬μ©νμ§ μμ΅λλ€. Windows 10 Pkg.add
μλ, Linux Manjaroμμ λμΌν ν¨ν€μ§μ λν΄ μμ μ€λ₯κ° λ°μν©λλ€.
@tuhtah μ루μ μ μλν©λλ€.
μλ νμΈμ, μ λ manjaro Linuxλ₯Ό μ¬μ©νκ³ μμ΅λλ€. μ κ²½μ°μλ μ΄κ²μ΄ λμμ΄λμμ΅λλ€.
mkdir -p /home/terabyte/.julia/registries/General && git clone https://github.com/JuliaRegistries/General.git ~/.julia/registries/General
κ·Έλ° λ€μ μ€λ¦¬μμμ
julia> using Pkg
julia> Pkg.add("IJulia")
ν΄λλ₯Ό μμ ν νμκ° μμ΅λλ€. μ...
X<strong i="6">@alienware</strong>: ~/ pacman -Q libgit2 julia
libgit2 1:1.0.0-1
julia 2:1.4.0-1
λλ μ»λ€
X<strong i="10">@alienware</strong>: ~/ julia -e 'using Pkg; Pkg.update()'
Updating registry at '/usr/applications/academia/julia/registries/General'
Updating git-repo 'https://github.com/JuliaRegistries/General.git'
β Warning: Some registries failed to update:
β β /usr/applications/academia/julia/registries/General β failed to fetch from repo
β @ Pkg.Types /build/julia/src/julia-1.4.0/usr/share/julia/stdlib/v1.4/Pkg/src/Types.jl:1122
Updating '/usr/applications/academia/julia/environments/v1.4/Project.toml'
[no changes]
Updating '/usr/applications/academia/julia/environments/v1.4/Manifest.toml'
[no changes]
μλ @gwatcha ν΄κ²° λ°©λ²μ μ μ©
X<strong i="15">@alienware</strong>: General/ pwd
/usr/applications/academia/julia/registries/General
ξ ξ° -- -- (master ξ € origin) ξ°
X<strong i="16">@alienware</strong>: General/ git pull
κ°μ μΌμν©λλ€. μ€λ¦¬μλ‘ λμκ° ν¨ν€μ§λ₯Ό μ κ·Έλ μ΄λνλ €κ³ ν λ ... κ·Έλ€μ μ κ·Έλ μ΄λνμ΅λλ€.
(@v1.4) pkg> update
Updating registry at `/usr/applications/academia/julia/registries/General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
β Warning: Some registries failed to update:
β β /usr/applications/academia/julia/registries/General β failed to fetch from repo
β @ Pkg.Types /build/julia/src/julia-1.4.0/usr/share/julia/stdlib/v1.4/Pkg/src/Types.jl:1122
Installed RecipesPipeline β v0.1.2
Installed Plots βββββββββββ v1.0.8
Updating `/usr/applications/academia/julia/environments/v1.4/Project.toml`
[91a5bcdd] β Plots v1.0.4 β v1.0.8
Updating `/usr/applications/academia/julia/environments/v1.4/Manifest.toml`
[91a5bcdd] β Plots v1.0.4 β v1.0.8
[01d81517] + RecipesPipeline v0.1.2
Building Plots β `/usr/applications/academia/julia/packages/Plots/7U0ob/deps/build.log`
μ΄ λͺ¨λ κ²μ JULIA_PKG_SERVER=pkg.julialang.org
μμ Plots 1.0μ κ°μ Έμ¬ μ μκΈ° λλ¬Έμ
λλ€. λ°λΌμ μ΅μ λ²μ μ ν¨ν€μ§λ₯Ό μνκ±°λ νμλ‘νλ κ²½μ° μλμΌλ‘ λ μ§μ€νΈλ¦¬λ₯Ό μ
λ°μ΄νΈνλ©΄ juliaμ libgit2κ° μλ‘ λ€μ λν ν λκΉμ§ νΈλ¦μ μν ν μ μμ΅λλ€.
νΈμ§ : λΆλͺ
ν μ§κΈ pkg.julialang.org
(λ΄κ° μλνμ λ v0.28κΉμ§λ§). ν΄λλ₯Ό μλ§μΌλ‘ λ§λ€κ³ ν¨ν€μ§λ₯Ό λ€μ΄ κ·Έλ μ΄λνκ³ μΆμ§ μλ€λ©΄ ν λ² μλν΄ λ³Ό κ°μΉκ° μμ΅λλ€.
μ¬κΈ°μ κ°μ μμ λ¬Έμ
ERROR: failed to clone from https://github.com/JuliaRegistries/General.git, error: GitError(Code:ERROR, Class:Invalid, invalid version 0 on git_proxy_options)
νκ²½ : Arch, julia1.4.0, libgit2 1.0.0
Julia 1.4λ₯Ό μ¬μ©νλ κ²½μ° export JULIA_PKG_SERVER=pkg.julialang.org
μν ν μ μμΌλ©° Pkg μμ
μ gitμ μ¬μ©ν νμκ° μμ΅λλ€. κ·Έλλ git λμ Pkg νλ‘ν μ½μ μ¬μ©νλλ‘ μΌλ° λ μ§μ€νΈλ¦¬λ₯Ό μ
κ·Έλ μ΄λνλ €λ©΄ λ¨Όμ rm -rf ~/.julia/registries/General
μ μνν΄μΌν©λλ€.
μ΄ λ¬Έμ λ Archμλ³΄κ³ ν΄μΌνλ©° libgit2 1.0μ μ¬μ©νλ κ²½μ° https://github.com/JuliaLang/julia/pull/35233 κ³Ό κ°μ ν¨μΉκ° νμν©λλ€.
κΈ°λ‘μ μν΄ νμλ Julia 1.5λ₯Ό μ²μμΌλ‘ λ€μ μλνλ©΄μμ΄ λ¬Έμ μ λ§μκ³ , ~/.gitconfig
μ νλ‘μμ νμν νν μ¬λμκ° νμνμ΅λλ€.
μ΄κ²μ κ΄μ¬μ΄μλ μ¬λμ libgit2 νλ‘μ νΈλ₯Ό κ΄΄λ‘ νκ³ μ€μ λ‘ λ²κ·Έ μμ μ΄ ν¬ν¨ λ 릴리μ€λ₯Ό λ§λ€μ΄μΌν©λλ€. κ·Έλ€μ΄ μ€μ€λ‘ κ³ μΉ λκΉμ§ λΆλͺ ν κΈ°λ€λ¦¬λ κ²μ ν¨κ³Όκ° μμ΅λλ€.
λλ₯Ό μν΄μ΄ μ€λ₯λ socks5 νλ‘μ (.gitconfig λ° git clone mannullyκ° socks5 νλ‘μμ ν¨κ» μλ)λ₯Ό μ¬μ©νκΈ° λλ¬Έμ λ°μνμ΅λλ€. http νλ‘μλ‘ λ³κ²½νμ¬ μμ νμ΅λλ€.
1 μ 21 μΌ
κ·Έλμ λ¬Έμ λ libgit2λ₯Ό ν¨μΉν μ§ μλλ©΄μ΄ μμ μ¬νμ ν¬ν¨νλ 릴리μ€λ₯Ό λ§λ€ λκΉμ§ κΈ°λ€λ¦΄ μ§ μ¬λΆμ λλ€.
8 μ 21 μΌ
κ·Έλ€μ΄ μ€μ€λ‘ κ³ μΉ λκΉμ§ λΆλͺ ν κΈ°λ€λ¦¬λ κ²μ ν¨κ³Όκ° μμ΅λλ€.
κ·Έλμ μ μλ₯Ό μ¬μ©ν©λκΉ? (patch libgit2) ν¨μΉλ₯Ό κ·Έλ€μκ² κΈ°μ¬ν μλ μμ΅λλ€.
μ¬μ©μμκ² μ μ€νΈλ¦Ό λΌμ΄λΈλ¬λ¦¬μ λν λ¬Έμ λ₯Ό μ κΈ° / μ²λ¦¬νλλ‘ μμ²νλ κ²μ μ½κ° λΆκ³΅νν©λλ€. IMO (κ²°κ΅ κ΄μ¬μ κ°μ§ μ¬μ©μ)
곡ννλ μλλ , λλμ΄ λ¬Έμ λ₯Ό λ§λμ§ μμΌλ©° libgit2μμ μ΄κ²μ κ³ μΉκΈ° μν΄ λΉμκ³ μΆμ§ μμ΅λλ€. μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λκ΅°κ°μκ² λΉμ©μ μ§λΆνκ³ μΆλ€λ©΄ [email protected]μΌλ‘ μ°λ½νλ©΄ 컨μ€ν κ³μ½μ μ°Ύμ μ μμ΅λλ€. JuliaTeam μ ꡬμ νλ©΄ λ°©νλ²½ λ΄λΆμμλ ν¨ν€μ§ μλ²μ μ°κ²°ν μ μκΈ° λλ¬Έμμ΄ λ¬Έμ κ° λ°μνμ§ μμΌλ―λ‘ νλ‘μλ₯Ό μ ν μ¬μ©ν νμκ° μμ΅λλ€ (λ€λ₯Έ λ§μ μ΄μ λ μμ΅λλ€. ). μ μ΄λ μ¬κΈ° λμ https://github.com/libgit2/libgit2/issues/5220μμ μ½κ°μ μμμ λΌ μ μμ΅λλ€. @fredrikekre λ λ§ κ·Έλλ‘ κ±°κΈ°μ κ²μ ν μ μΌν μ¬λμ λλ€. λμ λͺ¨λκ° μ°λ¦¬λ₯Ό κ΄΄λ‘ νκ³ libgit2 κ°λ°μλ₯Ό κ΄΄λ‘ν κ²μΌλ‘ μμν©λκΉ? μ¬κΈ°μ κ²μ ν λͺ¨λ μ¬λμ΄ libgit2 μ μ₯μμ λΆλ§ μ¬νμ κ²μνλ€λ©΄ μ§κΈκΉμ§ κ³ μ³€μ μ μμ΅λλ€.
μ§κΈμ ν ν μ¬κΈ°μ΄ libgit2 λ²κ·Έ κ΄λ ¨ libgit2 λ¬Έμ μ λν μμ μ λ¬Έμ μ κ·Όλ³Έ μμΈμ΄μλ€ κ΄λ ¨ λ¬Έμ μ κ²μ λ λͺ¨λ μ¬λμ. μ΄μ κ΄ν λ²κ·Έ λ³΄κ³ μμ ν¨κ» κ±°κΈ°μ μ°¨μνμμμ€.
https://github.com/JuliaLang/julia/pull/35233 μ΄ λμμ΄ λ κΉμ? ν¨μΉ λ ΈνΈλ₯Ό μ΄ν΄ λ³΄μ§ μμμ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
@getzze μ€λ¦¬μλ₯Ό μ΄λ»κ² λΆλ¬? λ³λμ μ Έ ν둬ννΈμμ Juliaλ₯Ό νΈμΆνκΈ° μ μ μ Έμμ
JULIA_PKG_SERVER
νκ²½ λ³μλ₯Όexport
μμ΄ λ²λ¦¬ μ ¨λμ?ν΄κ²° λ°©λ²μ _Julia_ 1.4.0μ μ¬μ©νλ _Arch Linux_μμ μλν©λλ€.