Ubuntu WSL2首次安装Julia时JpegTurbo下载失败问题求助
解决WSL2环境下Julia安装JpegTurbo时的SSL握手重置问题
1. 为Julia明确配置代理
Julia的包管理器(Pkg)不会自动继承Git的代理设置,需手动指定:
临时生效(仅当前REPL会话):
打开Julia REPL,执行以下代码(替换为你的代理地址和端口):ENV["HTTP_PROXY"] = "http://<Windows主机IP>:<代理端口>" ENV["HTTPS_PROXY"] = "http://<Windows主机IP>:<代理端口>" # 若使用socks5代理,修改为: # ENV["HTTP_PROXY"] = "socks5://<Windows主机IP>:<代理端口>" # ENV["HTTPS_PROXY"] = "socks5://<Windows主机IP>:<代理端口>"配置完成后,重新执行
Pkg.add("JpegTurbo_jll")或触发安装的命令。永久生效:
创建Julia启动配置文件并添加代理规则:mkdir -p ~/.julia/config nano ~/.julia/config/startup.jl将上述代理配置代码写入文件,保存退出后,重启Julia即可自动加载代理设置。
2. 手动下载并安装JpegTurbo Artifact
若代理配置仍无效,可手动处理Artifact:
- 用浏览器下载错误信息中提供的JpegTurbo压缩包,将文件传到WSL2的本地目录(如
~/downloads/)。 - 在Julia REPL中执行手动安装命令(替换为你的文件路径):
using Pkg Pkg.Artifacts.install_artifact!( "JpegTurbo_jll", "22a0f38792d33b65e35189101e60e1fab0a56030", "/home/你的用户名/downloads/JpegTurbo.v2.1.91.x86_64-linux-gnu.tar.gz" ) - 完成后重新尝试依赖JpegTurbo的操作。
3. 适配WSL2网络代理地址
WSL2的localhost与Windows主机的localhost不互通,需确保代理地址指向Windows内网IP:
- 在WSL2终端执行
cat /etc/resolv.conf,找到nameserver后的IP(即Windows主机的内网IP)。 - 将代理配置中的
localhost替换为该IP,避免网络隔离导致连接重置。
4. 重置JpegTurbo_jll包缓存
若包目录缓存损坏,可删除后重新拉取:
rm -rf /mnt/d/username/julia_pack/packages/JpegTurbo_jll/
然后在Julia REPL中执行Pkg.add("JpegTurbo_jll")重新安装。
内容的提问来源于stack exchange,提问作者NNN
相关产品推荐
相关产品推荐

