#package #julia
Вопрос:
Я пытаюсь добавить пакет «Дистрибутивы» (и другие):
(@v1.6) pkggt; add Distributions
И я получаю:
ERROR: Unable to automatically install 'OpenSpecFun' from 'C:Userscescalac.juliapackagesOpenSpecFun_jll1ZaofArtifacts.toml' Stacktrace: [1] error(s::String) @ Base .error.jl:33 [2] 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:buildbotworkerpackage_win64buildusrsharejuliastdlibv1.6PkgsrcArtifacts.jl:445 [3] ensure_all_artifacts_installed(artifacts_toml::String; platform::Base.BinaryPlatforms.Platform, pkg_uuid::Nothing, include_lazy::Bool, verbose::Bool, quiet_download::Bool, io::Base.TTY) @ Pkg.Artifacts C:buildbotworkerpackage_win64buildusrsharejuliastdlibv1.6PkgsrcArtifacts.jl:510 [4] download_artifacts(ctx::Pkg.Types.Context, pkg_roots::Vector{String}; platform::Base.BinaryPlatforms.Platform, verbose::Bool, io::Base.TTY) @ Pkg.Operations C:buildbotworkerpackage_win64buildusrsharejuliastdlibv1.6PkgsrcOperations.jl:710 [5] download_artifacts(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; platform::Base.BinaryPlatforms.Platform, julia_version::VersionNumber, verbose::Bool, io::Base.TTY) @ Pkg.Operations C:buildbotworkerpackage_win64buildusrsharejuliastdlibv1.6PkgsrcOperations.jl:687 [6] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, new_git::Vector{Base.UUID}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform) @ Pkg.Operations C:buildbotworkerpackage_win64buildusrsharejuliastdlibv1.6PkgsrcOperations.jl:1242 [7] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, kwargs::Base.Iterators.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}}) @ Pkg.API C:buildbotworkerpackage_win64buildusrsharejuliastdlibv1.6PkgsrcAPI.jl:204 [8] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Pkg.API C:buildbotworkerpackage_win64buildusrsharejuliastdlibv1.6PkgsrcAPI.jl:80 [9] add(pkgs::Vector{Pkg.Types.PackageSpec}) @ Pkg.API C:buildbotworkerpackage_win64buildusrsharejuliastdlibv1.6PkgsrcAPI.jl:78 [10] #add#23 @ C:buildbotworkerpackage_win64buildusrsharejuliastdlibv1.6PkgsrcAPI.jl:76 [inlined] [11] add @ C:buildbotworkerpackage_win64buildusrsharejuliastdlibv1.6PkgsrcAPI.jl:76 [inlined] [12] #add#22 @ C:buildbotworkerpackage_win64buildusrsharejuliastdlibv1.6PkgsrcAPI.jl:75 [inlined] [13] add(pkg::String) @ Pkg.API C:buildbotworkerpackage_win64buildusrsharejuliastdlibv1.6PkgsrcAPI.jl:75 [14] top-level scope @ REPL[1]:1
Я все удаляю, устанавливаю снова. Ошибка сохраняется. Заранее благодарю вас, если вы можете помочь мне с решением. Джулия версия 1.6.4.
С ENV["JULIA_DEBUG"]="all"
помощью , я получаю
juliagt; Pkg.add("Distributions") Resolving package versions... Downloading artifact: OpenSpecFun ┌ Debug: download_artifact error │ tree_hash = SHA1("3e683ec5ca945a5aca74c49e8cccdf37c19b84a3") │ tarball_url = "https://pkg.julialang.org/artifact/3e683ec5ca945a5aca74c49e8cccdf37c19b84a3" │ tarball_hash = nothing │ err = HTTP/1.1 403 MediaTypeBlocked while requesting https://pkg.julialang.org/artifact/3e683ec5ca945a5aca74c49e8cccdf37c19b84a3 Downloaded artifact: OpenSpecFun Downloading artifact: OpenSpecFun ┌ Debug: download_artifact error │ tree_hash = SHA1("3e683ec5ca945a5aca74c49e8cccdf37c19b84a3") │ tarball_url = "https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl/releases/download/OpenSpecFun-v0.5.5 0/OpenSpecFun.v0.5.5.x86_64-w64-mingw32-libgfortran5.tar.gz" │ tarball_hash = "56018ef016338b838d407cd58ffb7033584dd78c31b9d1082cdae10556a902cd" │ err = HTTP/1.1 403 MediaTypeBlocked while requesting https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl/releases/download/OpenSpecFun-v0.5.5 0/OpenSpecFun.v0.5.5.x86_64-w64-mingw32-libgfortran5.tar.gz Downloaded artifact: OpenSpecFun
Комментарии:
1. Можете ли вы опубликовать полную серию ошибок?
2. Спасибо, Милан Буше-Валат. Я отредактировал исходный запрос в ответ на ваш вопрос.
3. Не могли бы вы установить
ENV["JULIA_DEBUG"]="all"
, а затем попробовать еще раз? Там может быть много выходных данных, мы ищем строки сdownload_artifact error
ними, которые должны дать нам более подробную информацию об ошибке.4. Спасибо, @sundar-Помни Монику. Я последовал твоему совету. Проблема сохраняется. Я написал результат в нижней части исходного запроса, используя команду «Изменить». Я не знаю, как сделать это по-другому.
5.
HTTP/1.1 403 MediaTypeBlocked
Хммм, звучит как брандмауэр/прокси-сервер на вашем компьютере или в сети, который блокирует загрузку. Можете ли вы попробоватьpkg.julialang.org/...
адрес или github в своем браузере или сwget
помощью и посмотреть, сможете ли вы это сделать? Я предполагаю, что это тоже будет ошибка 403, и в этом случае вам придется проверить конфигурацию брандмауэра/прокси-сервера и изменить ее, чтобы разрешить это.
Ответ №1:
(вставляю свои комментарии в качестве ответа, так как это, скорее всего, будет проблемой.)
Вывод ENV["JULIA_DEBUG"]="all"
(из-за которого артефакты печатают более подробные ошибки) указывает на то, что возникла проблема с загрузкой файла артефакта.
│ err = HTTP/1.1 403 MediaTypeBlocked while requesting https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl/releases/download/OpenSpecFun-v0.5.5 0/OpenSpecFun.v0.5.5.x86_64-w64-mingw32-libgfortran5.tar.gz
MediaTypeBlocked
в этом случае (поскольку ссылка работает для всех нас) указывает, что это, скорее всего, брандмауэр/прокси-сервер в вашей сети, который блокирует загрузку этих файлов. Скорее всего, вы столкнетесь с той же ошибкой при любой попытке доступа к этим файлам, например, из браузера или с wget
помощью .
Изменение конфигурации сети, чтобы разрешить эти файлы, было бы лучшим вариантом действий (и в любом случае запрет tar.gz
файлов кажется чрезмерно ограничительным). В случае, если вы не можете этого сделать, вы можете загрузить файл из другой сети и скопировать его в то место, куда его поместил механизм артефактов, что также позволит продолжить установку этого пакета.