ДЖУЛИЯ 1.6.4 ОШИБКА: Не удается автоматически установить «OpenSpecFun»

#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 файлов кажется чрезмерно ограничительным). В случае, если вы не можете этого сделать, вы можете загрузить файл из другой сети и скопировать его в то место, куда его поместил механизм артефактов, что также позволит продолжить установку этого пакета.