Hi All,
I’m trying to build a package that includes data as an Artifact. Following ArtifactUtils · Julia Packages, the following worked as indicated:
using ArtifactUtils, Artifacts # Artifacts provides the artifact string macro
add_artifact!(
"Artifacts.toml",
"JuliaMono",
"https://github.com/cormullion/juliamono/releases/download/v0.030/JuliaMono.tar.gz",
force=true,
)
But, the following throws an error:
add_artifact!(
"Artifacts.toml",
"intcal20",
"https://github.com/wccarleton/intcal20/raw/main/intcal20.tar.gz",
force=true,
)
The error:
ERROR: IOError: open("/home/ice.mpg.de/wcarleton/.julia/artifacts/jl_uVK3Mj/intcal20.csv", 0, 0): no such file or directory (ENOENT)
Stacktrace:
[1] uv_error
@ ./libuv.jl:97 [inlined]
[2] open(path::String, flags::UInt8, mode::Int64)
@ Base.Filesystem ./filesystem.jl:106
[3] open
@ ./filesystem.jl:98 [inlined]
[4] sendfile(src::String, dst::String)
@ Base.Filesystem ./file.jl:978
[5] cp(src::String, dst::String; force::Bool, follow_symlinks::Bool)
@ Base.Filesystem ./file.jl:370
[6] cp
@ ./file.jl:364 [inlined]
[7] (::Tar.var"#26#28"{Vector{UInt8}, Bool, Bool, Base.Process, String})(hdr::Tar.Header, parts::Vector{SubString{String}})
@ Tar ~/Julia/julia-1.7.1/share/julia/stdlib/v1.7/Tar/src/extract.jl:79
[8] read_tarball(callback::Tar.var"#26#28"{Vector{UInt8}, Bool, Bool, Base.Process, String}, predicate::Tar.var"#1#2", tar::Base.Process; buf::Vector{UInt8}, skeleton::Base.DevNull)
@ Tar ~/Julia/julia-1.7.1/share/julia/stdlib/v1.7/Tar/src/extract.jl:399
[9] extract_tarball(predicate::Function, tar::Base.Process, root::String; buf::Vector{UInt8}, skeleton::Base.DevNull, copy_symlinks::Bool, set_permissions::Bool)
@ Tar ~/Julia/julia-1.7.1/share/julia/stdlib/v1.7/Tar/src/extract.jl:58
[10] (::Tar.var"#85#88"{String, Base.Process, Bool, Tar.var"#1#2"})(skeleton::Base.DevNull)
@ Tar ~/Julia/julia-1.7.1/share/julia/stdlib/v1.7/Tar/src/Tar.jl:237
[11] arg_write(f::Tar.var"#85#88"{String, Base.Process, Bool, Tar.var"#1#2"}, arg::Base.DevNull)
@ ArgTools ~/Julia/julia-1.7.1/share/julia/stdlib/v1.7/ArgTools/src/ArgTools.jl:112
[12] #84
@ ~/Julia/julia-1.7.1/share/julia/stdlib/v1.7/Tar/src/Tar.jl:236 [inlined]
[13] arg_mkdir(f::Tar.var"#84#87"{Base.Process, Base.DevNull, Bool, Tar.var"#1#2"}, arg::String)
@ ArgTools ~/Julia/julia-1.7.1/share/julia/stdlib/v1.7/ArgTools/src/ArgTools.jl:163
[14] #83
@ ~/Julia/julia-1.7.1/share/julia/stdlib/v1.7/Tar/src/Tar.jl:232 [inlined]
[15] open(::Tar.var"#83#86"{Base.DevNull, Bool, Tar.var"#1#2", String}, ::Cmd; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Base ./process.jl:395
[16] open(::Function, ::Cmd)
@ Base ./process.jl:393
[17] arg_read
@ ~/Julia/julia-1.7.1/share/julia/stdlib/v1.7/ArgTools/src/ArgTools.jl:60 [inlined]
[18] extract(predicate::Function, tarball::Cmd, dir::String; skeleton::Nothing, copy_symlinks::Nothing, set_permissions::Bool)
@ Tar ~/Julia/julia-1.7.1/share/julia/stdlib/v1.7/Tar/src/Tar.jl:231
[19] #extract#89
@ ~/Julia/julia-1.7.1/share/julia/stdlib/v1.7/Tar/src/Tar.jl:255 [inlined]
[20] unpack(tarball_path::String, dest::String; verbose::Bool)
@ Pkg.PlatformEngines ~/Julia/julia-1.7.1/share/julia/stdlib/v1.7/Pkg/src/PlatformEngines.jl:386
[21] unpack
@ ~/Julia/julia-1.7.1/share/julia/stdlib/v1.7/Pkg/src/PlatformEngines.jl:386 [inlined]
[22] #25
@ ~/.julia/packages/ArtifactUtils/vpjlQ/src/ArtifactUtils.jl:66 [inlined]
[23] create_artifact(f::ArtifactUtils.var"#25#26"{String})
@ Pkg.Artifacts ~/Julia/julia-1.7.1/share/julia/stdlib/v1.7/Pkg/src/Artifacts.jl:44
[24] add_artifact!(artifacts_toml::String, name::String, tarball_url::String; clear::Bool, options::Base.Pairs{Symbol, Bool, Tuple{Symbol}, NamedTuple{(:force,), Tuple{Bool}}})
@ ArtifactUtils ~/.julia/packages/ArtifactUtils/vpjlQ/src/ArtifactUtils.jl:65
[25] top-level scope
@ REPL[7]:1
Any ideas would be greatly appreciated!