c_sell
July 21, 2024, 8:37am
1
Hi,
Iโm getting the same error for different packages in Julia. For example, when I try to install Plots, I get the error.
IOError: rm("C:\\Users\\___\\.julia\\artifacts\\jl_6eeUjb\\bin"): directory not empty (ENOTEMPTY)
Stacktrace:
[1] uv_error
@ .\libuv.jl:106 [inlined]
[2] rm(path::String; force::Bool, recursive::Bool)
@ Base.Filesystem .\file.jl:307
[3] rm(path::String; force::Bool, recursive::Bool)
@ Base.Filesystem .\file.jl:294
[4] rm
@ .\file.jl:273 [inlined]
[5] download_artifact(tree_hash::Base.SHA1, tarball_url::String, tarball_hash::Nothing; verbose::Bool, quiet_download::Bool, io::IOContext{IO})
Iโm also getting this error when I try to install GeometryBasics for a different artifact. Iโve already tried reinstalling Julia and removing the artifacts folder, but the error still occurred with Julia versions 1.10.4 and 1.11 rc. I am working on windows 11.
Iโd really appreciate any help.
nhz2
July 21, 2024, 3:08pm
2
It seems like your anti-virus is interfering with Julia saving files.
opened 12:46AM - 04 Mar 24 UTC
When running `Pkg.add("CairoMakie")` in an empty project I'm getting this, `Erroโฆ r: "C:\\Users\\meyer\\.julia\\artifacts\\a8244d6d23cbb895fcd39dd3eddb859a0c05d1c6" could not be made`, which I seems to occur as the atomic rename fails after https://github.com/JuliaLang/Pkg.jl/pull/3768.
However, before getting there, I hit https://github.com/JuliaLang/julia/issues/34700, but that could be due to a failure related to above, but the `rm` is in a final block...
To "fix" the problem, I first hacked `Base.rm`
```julia
function Base.rm(path::String; force::Bool=false, recursive::Bool=false)
if !(force && recursive)
return invoke(Base.rm, Tuple{AbstractString}, path; force, recursive)
else
max_attempts = 3
attempts = 0
while attempts < max_attempts
attempts += 1
try
invoke(Base.rm, Tuple{AbstractString}, path; recursive=true, force=true)
catch err
if isa(err, Base.IOError) && attempts < max_attempts
println("Trying again for \"", path, "\"")
attempts == (max_attempts - 1) && sleep(1.0)
continue
else
println("Failed for \"", path, "\"")
rethrow(err)
end
end
end
end
end
```
(but this could just as well be done in `create_artifact`)
And modified `_mv_temp_artifact_dir` (which I couldn't hack since the dispatch is concrete...)
```julia
function _mv_temp_artifact_dir(temp_dir::String, new_path::String)::Nothing
if !isdir(new_path)
# This next step is like
# `mv(temp_dir, new_path)`.
# However, `mv` defaults to `cp` if `rename` returns an error.
# `cp` is not atomic, so avoid the potential of calling it.
err = ccall(:jl_fs_rename, Int32, (Cstring, Cstring), temp_dir, new_path)
# Ignore rename error, but ensure `new_path` exists.
if !isdir(new_path)
println("Just do cp ๐")
mv(temp_dir, new_path)
end
if !isdir(new_path)
error("$(repr(new_path)) could not be made")
end
chmod(new_path, filemode(dirname(new_path)))
set_readonly(new_path)
end
nothing
end
```
`Just do cp ๐` is printed twice, along with a couple of `Trying again for ...`.
In fact, it seems like the `x264_jll` and `Pixman_jll` are the ones that needs retries, not sure if by chance or anything special about these.
Strangely, trying many times, it seemed to work, but fails again if I empty the artifacts folder...
<details> <summary> Versioninfo </summary>
```julia
Julia Version 1.10.2
Commit bd47eca2c8 (2024-03-01 10:14 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: 8 ร 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-15.0.7 (ORCJIT, tigerlake)
Threads: 1 default, 0 interactive, 1 GC (on 8 virtual cores)
Environment:
JULIA_EDITOR = code
JULIA_NUM_THREADS =
```
</details>
I made a PR to improve the error message here:
JuliaLang:master
โ nhz2:nz/better-errors
opened 02:24PM - 05 Mar 24 UTC
This PR should improve error messages if an anti-virus prevents the temporary diโฆ rectory the artifact is unpacked into from being renamed or deleted. Ref #3822
The issue is that an error that occurs in a `finally` after a `try` and `catch` hides any error that occurred in the `try`.
The following is the message I get when I simulate rm and rename failing on Linux with this PR:
```julia
(jl_OE62qJ) pkg> add iso_codes_jll
Resolving package versions...
โ Error: your anti-virus may be interfering with artifact installation
โ @ Pkg.Artifacts ~/github/Pkg.jl/src/Artifacts.jl:80
โ Warning: Failed to clean up temporary directory "/home/nathan/.julia/artifacts/jl_iBFnfP"
โ exception = fake rm error
โ @ Pkg.Artifacts ~/github/Pkg.jl/src/Artifacts.jl:384
โ Error: your anti-virus may be interfering with artifact installation
โ @ Pkg.Artifacts ~/github/Pkg.jl/src/Artifacts.jl:80
โ Warning: Failed to clean up temporary directory "/home/nathan/.julia/artifacts/jl_97yMLY"
โ exception = fake rm error
โ @ Pkg.Artifacts ~/github/Pkg.jl/src/Artifacts.jl:384
ERROR: Unable to automatically download/install artifact 'iso_codes' from sources listed in '/home/nathan/.julia/packages/iso_codes_jll/QEOzB/Artifacts.toml'.
Sources attempted:
- https://pkg.julialang.org/artifact/695a3abd0af051dab62687501b9a61ad91c831a3
Error: IOError: rename of "/home/nathan/.julia/artifacts/jl_iBFnfP" to "/home/nathan/.julia/artifacts/695a3abd0af051dab62687501b9a61ad91c831a3": resource busy or locked (EBUSY)
- https://github.com/JuliaBinaryWrappers/iso_codes_jll.jl/releases/download/iso_codes-v4.15.1+0/iso_codes.v4.15.1.x86_64-linux-gnu.tar.gz
Error: IOError: rename of "/home/nathan/.julia/artifacts/jl_97yMLY" to "/home/nathan/.julia/artifacts/695a3abd0af051dab62687501b9a61ad91c831a3": resource busy or locked (EBUSY)
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] ensure_artifact_installed(name::String, meta::Dict{String, Any}, artifacts_toml::String; platform::Base.BinaryPlatforms.Platform, verbose::Bool, quiet_download::Bool, io::Pkg.UnstableIO)
@ Pkg.Artifacts ~/github/Pkg.jl/src/Artifacts.jl:476
[3] download_artifacts(env::Pkg.Types.EnvCache; platform::Base.BinaryPlatforms.Platform, julia_version::VersionNumber, verbose::Bool, io::Pkg.UnstableIO)
@ Pkg.Operations ~/github/Pkg.jl/src/Operations.jl:770
[4] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, new_git::Set{Base.UUID}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, target::Symbol)
@ Pkg.Operations ~/github/Pkg.jl/src/Operations.jl:1433
[5] add
@ ~/github/Pkg.jl/src/Operations.jl:1399 [inlined]
[6] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, target::Symbol, kwargs::@Kwargs{io::Pkg.UnstableIO})
@ Pkg.API ~/github/Pkg.jl/src/API.jl:307
[7] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::Pkg.UnstableIO, kwargs::@Kwargs{})
@ Pkg.API ~/github/Pkg.jl/src/API.jl:160
[8] add(pkgs::Vector{Pkg.Types.PackageSpec})
@ Pkg.API ~/github/Pkg.jl/src/API.jl:149
[9] do_cmd(command::Pkg.REPLMode.Command, io::Base.TTY)
@ Pkg.REPLMode ~/github/Pkg.jl/src/REPLMode/REPLMode.jl:407
[10] do_cmds(commands::Vector{Pkg.REPLMode.Command}, io::Base.TTY)
@ Pkg.REPLMode ~/github/Pkg.jl/src/REPLMode/REPLMode.jl:393
[11] do_cmds(repl::REPL.LineEditREPL, commands::String)
@ REPLExt ~/github/Pkg.jl/ext/REPLExt/REPLExt.jl:92
[12] (::REPLExt.var"#31#34"{REPL.LineEditREPL, REPL.LineEdit.Prompt})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
@ REPLExt ~/github/Pkg.jl/ext/REPLExt/REPLExt.jl:122
[13] #invokelatest#2
@ ./essentials.jl:1030 [inlined]
[14] invokelatest
@ ./essentials.jl:1027 [inlined]
[15] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
@ REPL.LineEdit ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/REPL/src/LineEdit.jl:2744
[16] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
@ REPL ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/REPL/src/REPL.jl:1406
[17] (::REPL.var"#75#81"{REPL.LineEditREPL, REPL.REPLBackendRef})()
@ REPL ~/packages/julias/julia-latest/share/julia/stdlib/v1.12/REPL/src/REPL.jl:456
```
Here is what this kind of error would look like before this PR (from https://discourse.julialang.org/t/installation-of-nodejs-fails-directory-not-empty/111117)
```julia
(tmp) pkg> add NodeJS
Resolving package versions...
Downloaded artifact: nodejs_app
ERROR: IOError: rm("C:\\Users\\michele.zaffalon\\.julia\\artifacts\\jl_Y9gBTl"): directory not empty (ENOTEMPTY)
Stacktrace:
[1] uv_error
@ .\libuv.jl:100 [inlined]
[2] rm(path::String; force::Bool, recursive::Bool)
@ Base.Filesystem .\file.jl:307
[3] rm
@ .\file.jl:273 [inlined]
[4] download_artifact(tree_hash::Base.SHA1, tarball_url::String, tarball_hash::Nothing; verbose::Bool, quiet_download::Bool, io::Base.TTY)
\src\Artifacts.jl:376
[5] download_artifact (repeats 2 times)
@ C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\Artifacts.jl:297 [inlined]
[6] #22
@ C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\Artifacts.jl:423 [inlined]
[7] with_show_download_info(f::Pkg.Artifacts.var"#22#24"{Bool, Bool, Base.TTY, Base.SHA1, String}, io::Base.TTY, name::String, quiet_download::Bool)
@ Pkg.Artifacts C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\Artifacts.jl:480
[8] ensure_artifact_installed(name::String, meta::Dict{String, Any}, artifacts_toml::String; platform::Base.BinaryPlatforms.Platform, verbose::Bool, quiet_download::Bool, io::Base.TTY)
@ Pkg.Artifacts C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\Artifacts.jl:422
[9] download_artifacts(env::Pkg.Types.EnvCache; platform::Base.BinaryPlatforms.Platform, julia_version::VersionNumber, verbose::Bool, io::Base.TTY)
@ Pkg.Operations C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\Operations.jl:755
[10] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, new_git::Set{Base.UUID}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform)
@ Pkg.Operations C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\Operations.jl:1394
[11] add
@ C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\Operations.jl:1376 [inlined]
[12] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, kwargs::@Kwargs{io::Base.TTY})
@ Pkg.API C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\API.jl:278
[13] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::@Kwargs{})
@ Pkg.API C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\API.jl:159
[14] add(pkgs::Vector{Pkg.Types.PackageSpec})
@ Pkg.API C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\API.jl:148
[15] do_cmd!(command::Pkg.REPLMode.Command, repl::REPL.LineEditREPL)
@ Pkg.REPLMode C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\REPLMode\REPLMode.jl:412
[16] do_cmd(repl::REPL.LineEditREPL, input::String; do_rethrow::Bool)
@ Pkg.REPLMode C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\REPLMode\REPLMode.jl:390
[17] do_cmd
@ C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\REPLMode\REPLMode.jl:380 [inlined]
[18] (::Pkg.REPLMode.var"#24#27"{REPL.LineEditREPL, REPL.LineEdit.Prompt})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
@ Pkg.REPLMode C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\Pkg\src\REPLMode\REPLMode.jl:557
[19] #invokelatest#2
@ .\essentials.jl:892 [inlined]
[20] invokelatest
@ .\essentials.jl:889 [inlined]
[21] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
@ REPL.LineEdit C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\REPL\src\LineEdit.jl:2656
[22] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
@ REPL C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\REPL\src\REPL.jl:1312
[23] (::REPL.var"#62#68"{REPL.LineEditREPL, REPL.REPLBackendRef})()
@ REPL C:\Users\michele.zaffalon\.julia\juliaup\julia-1.10.2+0.x64.w64.mingw32\share\julia\stdlib\v1.10\REPL\src\REPL.jl:386
```
Any feedback on the PR would be appreciated.
As a work around you can try using a different anti-virus, or install the packages with julia 1.9 and then use julia 1.10
nhz2
July 21, 2024, 3:59pm
3
If you want to test out Better error messages if artifact rename fails by nhz2 ยท Pull Request #3827 ยท JuliaLang/Pkg.jl ยท GitHub
Here are the steps.
Clone my fork of Pkg.jl:
git clone https://github.com/nhz2/Pkg.jl.git
cd Pkg.jl
git checkout nz/better-errors
Start julia 1.11 in the Pkg.jl
directory:
julia +1.11 --project --startup-file=no
In julia run:
import Pkg
Pkg.pkg"activate --temp"
Pkg.pkg"add Plots"
Please let me know what the error message looks like with this PR.
c_sell
July 24, 2024, 7:11am
5
Got it working now. Had to run include(โsrc/Pkg.jlโ) before.
You where right. The error:
> Error: your anti-virus may be interfering with artifact installation
> โ See https://github.com/JuliaLang/Pkg.jl/issues/3822
> โ @ Main.Pkg.Artifacts C:\Users\sellmann\Promotion\Programming\Julia\Projects\Package_tests\Pkg.jl\src\Artifacts.jl:81
> โ Error: your anti-virus may be interfering with artifact installation
> โ See https://github.com/JuliaLang/Pkg.jl/issues/3822
nhz2
July 24, 2024, 11:17am
6
Thanks for testing this. Is there more info from the error, like a section on what artifact failed to install, or a stack trace? The error you pasted seems to be cut off.
xlxs4
July 29, 2024, 8:05am
7
julia> Pkg.pkg"add Plots"
Resolving package versions...
Installed Statistics โ v1.11.1
โ Error: your anti-virus may be interfering with artifact installation
โ See https://github.com/JuliaLang/Pkg.jl/issues/3822
โ @ Main.Pkg.Artifacts C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\Artifacts.jl:81
โ Warning: Failed to clean up temporary directory "C:\\Users\\ores.ousoultzoglou\\.julia\\artifacts\\jl_fukAt4"
โ exception = IOError: rm("C:\\Users\\ores.ousoultzoglou\\.julia\\artifacts\\jl_fukAt4\\bin"): directory not empty (ENOTEMPTY)
โ @ Main.Pkg.Artifacts C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\Artifacts.jl:386
โ Error: your anti-virus may be interfering with artifact installation
โ See https://github.com/JuliaLang/Pkg.jl/issues/3822
โ @ Main.Pkg.Artifacts C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\Artifacts.jl:81
โ Warning: Failed to clean up temporary directory "C:\\Users\\ores.ousoultzoglou\\.julia\\artifacts\\jl_nEUv5J"
โ exception = IOError: rm("C:\\Users\\ores.ousoultzoglou\\.julia\\artifacts\\jl_nEUv5J\\bin"): directory not empty (ENOTEMPTY)
โ @ Main.Pkg.Artifacts C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\Artifacts.jl:386
ERROR: Unable to automatically download/install artifact 'fzf' from sources listed in 'C:\Users\ores.ousoultzoglou\.julia\packages\fzf_jll\okrgy\Artifacts.toml'.
Sources attempted:
- https://pkg.julialang.org/artifact/8043c72c48288c74e7f13c0c4aecbd239ef872bb
Error: IOError: rename of "C:\\Users\\ores.ousoultzoglou\\.julia\\artifacts\\jl_fukAt4" to "C:\\Users\\ores.ousoultzoglou\\.julia\\artifacts\\8043c72c48288c74e7f13c0c4aecbd239ef872bb": permission denied (EACCES)
- https://github.com/JuliaBinaryWrappers/fzf_jll.jl/releases/download/fzf-v0.43.0+0/fzf.v0.43.0.x86_64-w64-mingw32.tar.gz
Error: IOError: rename of "C:\\Users\\ores.ousoultzoglou\\.julia\\artifacts\\jl_nEUv5J" to "C:\\Users\\ores.ousoultzoglou\\.julia\\artifacts\\8043c72c48288c74e7f13c0c4aecbd239ef872bb": permission denied (EACCES)
Stacktrace:
[1] error(s::String)
@ Base .\error.jl:35
[2] ensure_artifact_installed(name::String, meta::Dict{โฆ}, artifacts_toml::String; platform::Base.BinaryPlatforms.Platform, verbose::Bool, quiet_download::Bool, io::Main.Pkg.UnstableIO)
@ Main.Pkg.Artifacts C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\Artifacts.jl:478
[3]
@ Main.Pkg.Operations C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\Operations.jl:770
[4] add(ctx::Main.Pkg.Types.Context, pkgs::Vector{โฆ}, new_git::Set{โฆ}; preserve::Main.Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, target::Symbol)
@ Main.Pkg.Operations C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\Operations.jl:1433
[5] add
@ C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\Operations.jl:1399 [inlined]
[6] add(ctx::Main.Pkg.Types.Context, pkgs::Vector{โฆ}; preserve::Main.Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, target::Symbol, kwargs::@Kwargs{โฆ})
@ Main.Pkg.API C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\API.jl:307
[7] add(pkgs::Vector{Main.Pkg.Types.PackageSpec}; io::Main.Pkg.UnstableIO, kwargs::@Kwargs{})
@ Main.Pkg.API C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\API.jl:160
[8] add(pkgs::Vector{Main.Pkg.Types.PackageSpec})
@ Main.Pkg.API C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\API.jl:149
[9] do_cmd(command::Main.Pkg.REPLMode.Command, io::Main.Pkg.UnstableIO)
@ Main.Pkg.REPLMode C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\REPLMode\REPLMode.jl:407
[10] do_cmds(commands::Vector{Main.Pkg.REPLMode.Command}, io::Main.Pkg.UnstableIO)
@ Main.Pkg.REPLMode C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\REPLMode\REPLMode.jl:393
[11] do_cmds(input::String, io::Main.Pkg.UnstableIO)
@ Main.Pkg.REPLMode C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\REPLMode\REPLMode.jl:383
[12] pkgstr(str::String)
@ Main.Pkg.REPLMode C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\REPLMode\REPLMode.jl:450
[13] top-level scope
@ REPL[4]:1
Some type information was truncated. Use `show(err)` to see complete types.
julia> show(err)
1-element ExceptionStack:
Unable to automatically download/install artifact 'fzf' from sources listed in 'C:\Users\ores.ousoultzoglou\.julia\packages\fzf_jll\okrgy\Artifacts.toml'.
Sources attempted:
- https://pkg.julialang.org/artifact/8043c72c48288c74e7f13c0c4aecbd239ef872bb
Error: IOError: rename of "C:\\Users\\ores.ousoultzoglou\\.julia\\artifacts\\jl_fukAt4" to "C:\\Users\\ores.ousoultzoglou\\.julia\\artifacts\\8043c72c48288c74e7f13c0c4aecbd239ef872bb": permission denied (EACCES)
- https://github.com/JuliaBinaryWrappers/fzf_jll.jl/releases/download/fzf-v0.43.0+0/fzf.v0.43.0.x86_64-w64-mingw32.tar.gz
Error: IOError: rename of "C:\\Users\\ores.ousoultzoglou\\.julia\\artifacts\\jl_nEUv5J" to "C:\\Users\\ores.ousoultzoglou\\.julia\\artifacts\\8043c72c48288c74e7f13c0c4aecbd239ef872bb": permission denied (EACCES)
Stacktrace:
[1] error(s::String)
@ Base .\error.jl:35
[2] ensure_artifact_installed(name::String, meta::Dict{String, Any}, artifacts_toml::String; platform::Base.BinaryPlatforms.Platform, verbose::Bool, quiet_download::Bool, io::Main.Pkg.UnstableIO)
@ Main.Pkg.Artifacts C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\Artifacts.jl:478
[3] download_artifacts(env::Main.Pkg.Types.EnvCache; platform::Base.BinaryPlatforms.Platform, julia_version::VersionNumber, verbose::Bool, io::Main.Pkg.UnstableIO)
@ Main.Pkg.Operations C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\Operations.jl:770
[4] add(ctx::Main.Pkg.Types.Context, pkgs::Vector{Main.Pkg.Types.PackageSpec}, new_git::Set{Base.UUID}; preserve::Main.Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, target::Symbol)
@ Main.Pkg.Operations C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\Operations.jl:1433
[5] add
@ C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\Operations.jl:1399 [inlined]
[6] add(ctx::Main.Pkg.Types.Context, pkgs::Vector{Main.Pkg.Types.PackageSpec}; preserve::Main.Pkg.Types.PreserveLevel,
platform::Base.BinaryPlatforms.Platform, target::Symbol, kwargs::@Kwargs{io::Main.Pkg.UnstableIO})
@ Main.Pkg.API C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\API.jl:307
[7] add(pkgs::Vector{Main.Pkg.Types.PackageSpec}; io::Main.Pkg.UnstableIO, kwargs::@Kwargs{})
@ Main.Pkg.API C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\API.jl:160
[8] add(pkgs::Vector{Main.Pkg.Types.PackageSpec})
@ Main.Pkg.API C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\API.jl:149
[9] do_cmd(command::Main.Pkg.REPLMode.Command, io::Main.Pkg.UnstableIO)
@ Main.Pkg.REPLMode C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\REPLMode\REPLMode.jl:407
[10] do_cmds(commands::Vector{Main.Pkg.REPLMode.Command}, io::Main.Pkg.UnstableIO)
@ Main.Pkg.REPLMode C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\REPLMode\REPLMode.jl:393
[11] do_cmds(input::String, io::Main.Pkg.UnstableIO)
@ Main.Pkg.REPLMode C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\REPLMode\REPLMode.jl:383
[12] pkgstr(str::String)
@ Main.Pkg.REPLMode C:\Users\ores.ousoultzoglou\GitHub\Pkg.jl\src\REPLMode\REPLMode.jl:450
[13] top-level scope
@ REPL[4]:1
1 Like