JuliaPro pkg installation: ERROR: IOError: unlink: permission denied (EACCES)

I just installed JuliaPro. I have Juno up and running and have executed some basic code.

I am, however, unable to install any packages. Instead I keep getting the error:

ERROR: IOError: unlink: permission denied (EACCES)

There is a file titled “auth.toml” located in .juliapro/JuliaPro_v1.3.1-1/servers/pkg.juliacomputing.com/ so I think I have the requisite token.

Any help or guidance would be greatly appreciated.

Thanks,

DS

Here’s the problem in its entirety:

(@v1.3) pkg> add Plots
   Updating registry at `~/.juliapro/JuliaPro_v1.3.1-1/registries/JuliaPro`
######################################################################## 100.0%

ERROR: IOError: unlink: permission denied (EACCES)
Stacktrace:
 [1] unlink(::String) at /Applications/JuliaPro-1.3.1-1.app/Contents/Resources/julia/Contents/Resources/julia/lib/julia/sys.dylib:?
 [2] #rm#9(::Bool, ::Bool, ::typeof(rm), ::String) at /Applications/JuliaPro-1.3.1-1.app/Contents/Resources/julia/Contents/Resources/julia/lib/julia/sys.dylib:?
 [3] (::Base.Filesystem.var"#kw##rm")(::NamedTuple{(:force, :recursive),Tuple{Bool,Bool}}, ::typeof(rm), ::String) at /Applications/JuliaPro-1.3.1-1.app/Contents/Resources/julia/Contents/Resources/julia/lib/julia/sys.dylib:?
 [4] #rm#9(::Bool, ::Bool, ::typeof(rm), ::String) at /Applications/JuliaPro-1.3.1-1.app/Contents/Resources/julia/Contents/Resources/julia/lib/julia/sys.dylib:?
 [5] (::Base.Filesystem.var"#kw##rm")(::NamedTuple{(:force, :recursive),Tuple{Bool,Bool}}, ::typeof(rm), ::String) at /Applications/JuliaPro-1.3.1-1.app/Contents/Resources/julia/Contents/Resources/julia/lib/julia/sys.dylib:?
 [6] #rm#9(::Bool, ::Bool, ::typeof(rm), ::String) at /Applications/JuliaPro-1.3.1-1.app/Contents/Resources/julia/Contents/Resources/julia/lib/julia/sys.dylib:?
 [7] #checkfor_mv_cp_cptree#10(::Bool, ::typeof(Base.Filesystem.checkfor_mv_cp_cptree), ::String, ::String, ::String) at /Applications/JuliaPro-1.3.1-1.app/Contents/Resources/julia/Contents/Resources/julia/lib/julia/sys.dylib:?
 [8] #cp#12(::Bool, ::Bool, ::typeof(cp), ::String, ::String) at /Applications/JuliaPro-1.3.1-1.app/Contents/Resources/julia/Contents/Resources/julia/lib/julia/sys.dylib:?
 [9] (::Base.Filesystem.var"#kw##cp")(::NamedTuple{(:force,),Tuple{Bool}}, ::typeof(cp), ::String, ::String) at ./none:0
 [10] (::Pkg.Types.var"#113#116"{String})(::String) at /Users/vagrant/worker/juliapro-release-osx1011-0_6/build/tmp_julia/Julia-1.3.app/Contents/Resources/julia/share/julia/stdlib/v1.3/Pkg/src/Types.jl:1056
 [11] #mktempdir#18(::String, ::typeof(mktempdir), ::Pkg.Types.var"#113#116"{String}, ::String) at ./file.jl:634
 [12] mktempdir(::Function, ::String) at ./file.jl:632 (repeats 2 times)
 [13] #update_registries#111(::Bool, ::typeof(Pkg.Types.update_registries), ::Pkg.Types.Context, ::Array{Pkg.Types.RegistrySpec,1}) at /Users/vagrant/worker/juliapro-release-osx1011-0_6/build/tmp_julia/Julia-1.3.app/Contents/Resources/julia/share/julia/stdlib/v1.3/Pkg/src/Types.jl:1041
 [14] update_registries at /Users/vagrant/worker/juliapro-release-osx1011-0_6/build/tmp_julia/Julia-1.3.app/Contents/Resources/julia/share/julia/stdlib/v1.3/Pkg/src/Types.jl:1030 [inlined] (repeats 2 times)
 [15] #add#28(::Pkg.Types.PreserveLevel, ::Pkg.BinaryPlatforms.MacOS, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Pkg.API.add), ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /Users/vagrant/worker/juliapro-release-osx1011-0_6/build/tmp_julia/Julia-1.3.app/Contents/Resources/julia/share/julia/stdlib/v1.3/Pkg/src/API.jl:143
 [16] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /Users/vagrant/worker/juliapro-release-osx1011-0_6/build/tmp_julia/Julia-1.3.app/Contents/Resources/julia/share/julia/stdlib/v1.3/Pkg/src/API.jl:112
 [17] #add#27 at /Users/vagrant/worker/juliapro-release-osx1011-0_6/build/tmp_julia/Julia-1.3.app/Contents/Resources/julia/share/julia/stdlib/v1.3/Pkg/src/API.jl:109 [inlined]
 [18] add(::Array{Pkg.Types.PackageSpec,1}) at /Users/vagrant/worker/juliapro-release-osx1011-0_6/build/tmp_julia/Julia-1.3.app/Contents/Resources/julia/share/julia/stdlib/v1.3/Pkg/src/API.jl:109
 [19] do_cmd!(::Pkg.REPLMode.Command, ::REPL.LineEditREPL) at /Applications/JuliaPro-1.3.1-1.app/Contents/Resources/julia/Contents/Resources/julia/lib/julia/sys.dylib:?
 [20] #do_cmd#21(::Bool, ::typeof(Pkg.REPLMode.do_cmd), ::REPL.LineEditREPL, ::String) at /Applications/JuliaPro-1.3.1-1.app/Contents/Resources/julia/Contents/Resources/julia/lib/julia/sys.dylib:?
 [21] (::Pkg.REPLMode.var"#24#27"{REPL.LineEditREPL,REPL.LineEdit.Prompt})(::REPL.LineEdit.MIState, ::Base.GenericIOBuffer{Array{UInt8,1}}, ::Bool) at /Applications/JuliaPro-1.3.1-1.app/Contents/Resources/julia/Contents/Resources/julia/lib/julia/sys.dylib:?
 [22] #invokelatest#1 at ./essentials.jl:709 [inlined]
 [23] invokelatest at ./essentials.jl:708 [inlined]
 [24] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at /Users/vagrant/worker/juliapro-release-osx1011-0_6/build/tmp_julia/Julia-1.3.app/Contents/Resources/julia/share/julia/stdlib/v1.3/REPL/src/LineEdit.jl:2306
 [25] run_frontend(::REPL.LineEditREPL, ::REPL.REPLBackendRef) at /Users/vagrant/worker/juliapro-release-osx1011-0_6/build/tmp_julia/Julia-1.3.app/Contents/Resources/julia/share/julia/stdlib/v1.3/REPL/src/REPL.jl:1045
 [26] run_repl(::REPL.AbstractREPL, ::Any) at /Users/vagrant/worker/juliapro-release-osx1011-0_6/build/tmp_julia/Julia-1.3.app/Contents/Resources/julia/share/julia/stdlib/v1.3/REPL/src/REPL.jl:201
 [27] (::Base.var"#770#772"{Bool,Bool,Bool,Bool})(::Module) at ./client.jl:382
 [28] run_main_repl(::Bool, ::Bool, ::Bool, ::Bool, ::Bool) at /Applications/JuliaPro-1.3.1-1.app/Contents/Resources/julia/Contents/Resources/julia/lib/julia/sys.dylib:?
 [29] exec_options(::Base.JLOptions) at /Applications/JuliaPro-1.3.1-1.app/Contents/Resources/julia/Contents/Resources/julia/lib/julia/sys.dylib:?
 [30] _start() at /Applications/JuliaPro-1.3.1-1.app/Contents/Resources/julia/Contents/Resources/julia/lib/julia/sys.dylib:?

Hey donkeysaddle,
I had the same problem after upgrading from JuliaPro 1.0 to 1.3 I installed the 1.3 version before deinstalling the 1.0 version. After experiencing the same problem I deleted both and did a clean reinstall of JuliaPro 1.3 and now it seems to work fine. Had to reinstall all the Packages though.
Hope they put out a nice documentation about upgrading Julia, without having to reinstall all the packages. (At least I wasn’t able to find it)
Hope that helps
Best,
Merit

Hey meritwagner,

Thanks for the response. I did see that I should uninstall all versions of JuliaPro I might have on my computer, however, I am a first time JuliaPro user. I do have version 1.3 of Julia and Juno. But from what I read they are not incompatible.

But maybe that’s where I am running into problems. What do you think?

Thanks,

DS

This is a sometimes expressed bug in the mac installer. To fix, you could chown the ~/.juliapro/JuliaPro_v1.3.1-1/registries/JuliaPro/.git folder to your user (it’ll probably be owned by root)

Sorry about that, it’ll be fixed by a new release soon. But for now, this workaround should be sufficient.

Thanks!

just to be clear, which user are we talking about here?

Appreciate it, Avik.

just wanted to give a follow up, avik’s solution appears to have worked! Thanks, avik!

There was one thing that hung me up - I had to change ownership not just of the .git folder but all the sub folders it contained.

Thanks again, avik!

1 Like

For those w/o much experience:

in the terminal

chown -R username ~/.juliapro/JuliaPro_v1.3.1-1/registries/JuliaPro/.git

if this doesn’t work try:

sudo chown -R username ~/.juliapro/JuliaPro_v1.3.1-1/registries/JuliaPro/.git

to access admin privileges with your password.

2 Likes