Julia 1.4.2安装JuMP 0.18.6时CompilerSupportLibraries依赖安装报错
问题原因
报错核心是curl: (52) Empty reply from server,是Julia拉取CompilerSupportLibraries依赖包的Artifact资源时,服务器连通失败导致的,这类问题在老版本Julia(1.4.x及更早)中出现概率较高,和旧版本官方Artifact源的连通性、地域网络限制有关。
解决方案
按优先级从高到低尝试:
方法1:替换国内Julia镜像源
先在运行Julia的终端执行以下命令配置镜像环境变量,临时生效可直接执行,永久生效则写入~/.bashrc(或对应shell的配置文件)后执行source ~/.bashrc:export JULIA_PKG_SERVER=https://mirrors.bfsu.edu.cn/julia配置完成后重启Julia,重新执行JuMP安装流程即可,大部分场景下可直接解决下载失败问题。
方法2:指定兼容版本手动安装依赖
若镜像源仍无法拉取,可在Julia REPL中按]进入Pkg模式,执行指定版本安装命令:pkg> add CompilerSupportLibraries_jll@0.3.4JuMP 0.18.6适配的CompilerSupportLibraries为0.3.x版本系列,指定版本安装可避免拉取不兼容的高版本资源,减少下载错误。
方法3:离线导入Artifact
若网络环境完全无法访问镜像源,可按以下步骤操作:- 打开报错提示的Artifacts.toml文件
/home/zyh/.julia/packages/CompilerSupportLibraries_jll/790hI/Artifacts.toml,找到对应系统架构的Artifact hash值 - 从可正常访问的设备下载对应hash的CompilerSupportLibraries压缩包
- 将解压后的文件夹以hash值命名,放入
/home/zyh/.julia/artifacts/目录 - 重启Julia重新执行安装,程序会直接识别本地已存在的Artifact,跳过下载步骤。
- 打开报错提示的Artifacts.toml文件
内容的提问来源于stack exchange,提问作者Betristor
相关产品推荐
相关产品推荐

