Open
Description
Summary
On Windows with Julia 1.9.0-rc2, adding a package to an environment (and maybe other operations that trigger git operations?) fails with the error ERROR: GitError(Code:ENOTFOUND, Class:Config, config value 'safe.directory' was not found). Running Julia with administrator privileges allows package operations to complete as expected. Prior Julia versions didn't have this problem.
Example
julia> pwd()
"C:\\Users\\ejfie"
(@v1.9) pkg> generate PkgProblem
Generating project PkgProblem:
PkgProblem\Project.toml
PkgProblem\src\PkgProblem.jl
julia> cd("PkgProblem\\")
(@v1.9) pkg> activate .
Activating project at `C:\Users\ejfie\PkgProblem`
(PkgProblem) pkg> add Dates
Updating registry at `C:\Users\ejfie\.julia\registries\General`
ERROR: GitError(Code:ENOTFOUND, Class:Config, config value 'safe.directory' was not found)
Stacktrace:
[1] macro expansion
@ C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\LibGit2\src\error.jl:111 [inlined]
[2] LibGit2.GitRepo(path::String)
@ LibGit2 C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\LibGit2\src\repository.jl:11
[3] (::Pkg.Registry.var"#73#78"{Base.TTY, Day, Dict{String, Any}, String, Vector{Pkg.Registry.RegistryInstance}})()
@ Pkg.Registry C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\Pkg\src\Registry\Registry.jl:449
[4] mkpidlock(f::Pkg.Registry.var"#73#78"{Base.TTY, Day, Dict{String, Any}, String, Vector{Pkg.Registry.RegistryInstance}}, at::String, pid::Int32; kwopts::Base.Pairs{Symbol, Int64, Tuple{Symbol}, NamedTuple{(:stale_age,), Tuple{Int64}}})
@ FileWatching.Pidfile C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\FileWatching\src\pidfile.jl:82
[5] #mkpidlock#6
@ C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\FileWatching\src\pidfile.jl:77 [inlined]
[6] mkpidlock
@ C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\FileWatching\src\pidfile.jl:77 [inlined]
[7] update(regs::Vector{Pkg.Registry.RegistrySpec}; io::Base.TTY, force::Bool, depots::Vector{String}, update_cooldown::Day)
@ Pkg.Registry C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\Pkg\src\Registry\Registry.jl:379
[8] update
@ C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\Pkg\src\Registry\Registry.jl:372 [inlined]
[9] update_registries(ctx::Pkg.Types.Context; force::Bool, kwargs::Base.Pairs{Symbol, Day, Tuple{Symbol}, NamedTuple{(:update_cooldown,), Tuple{Day}}})
@ Pkg.Operations C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\Pkg\src\Operations.jl:1265
[10] update_registries
@ C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\Pkg\src\Operations.jl:1262 [inlined]
[11] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, kwargs::Base.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
@ Pkg.API C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\Pkg\src\API.jl:259
[12] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Pkg.API C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\Pkg\src\API.jl:156
[13] add(pkgs::Vector{Pkg.Types.PackageSpec})
@ Pkg.API C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\Pkg\src\API.jl:145
[14] do_cmd!(command::Pkg.REPLMode.Command, repl::REPL.LineEditREPL)
@ Pkg.REPLMode C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\Pkg\src\REPLMode\REPLMode.jl:412
[15] do_cmd(repl::REPL.LineEditREPL, input::String; do_rethrow::Bool)
@ Pkg.REPLMode C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\Pkg\src\REPLMode\REPLMode.jl:390
[16] do_cmd
@ C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\Pkg\src\REPLMode\REPLMode.jl:380 [inlined]
[17] (::Pkg.REPLMode.var"#24#27"{REPL.LineEditREPL, REPL.LineEdit.Prompt})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
@ Pkg.REPLMode C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\Pkg\src\REPLMode\REPLMode.jl:557
[18] #invokelatest#2
@ .\essentials.jl:816 [inlined]
[19] invokelatest
@ .\essentials.jl:813 [inlined]
[20] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
@ REPL.LineEdit C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\REPL\src\LineEdit.jl:2647
[21] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
@ REPL C:\Users\ejfie\AppData\Local\Programs\Julia-1.9.0-rc2\share\julia\stdlib\v1.9\REPL\src\REPL.jl:1298
[22] (::REPL.var"#62#68"{REPL.LineEditREPL, REPL.REPLBackendRef})()
@ REPL .\task.jl:514
versioninfo
julia> versioninfo()
Julia Version 1.9.0-rc2
Commit 72aec423c2 (2023-04-01 10:41 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: 12 × AMD Ryzen 5 1600X Six-Core Processor
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-14.0.6 (ORCJIT, znver1)
Threads: 4 on 12 virtual cores
Environment:
JULIA_NUM_THREADS = 4
Possible duplicate
I reported this a little while ago in Pkg, but wasn't sure if there or this repo was the correct place to open an issue. Since the release is coming up and this could be breaking for some Windows users I'm reporting here too, but of course no worries if this is closed as duplicate. Thanks!