OpenSSL SSL_ERROR_SYSCALL 连接到 raw.githubusercontent.com:443

OpenSSL SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443

我正在尝试在我的计算机上安装 nvm。我正在 运行ning linux windows 10 上的功能。当我 运行 命令 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash 时,我收到错误消息 curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443

我尝试按照同一主题中提到的重置代理设置,但没有成功解决问题。我看到有一些解决方案,但其中 none 提到 linux 在 windows 上 运行ning。有人知道如何解决这个问题吗?

我在我的机器上看到了同样的错误。原来是我的防病毒程序。我正在使用卡巴斯基...

我的修复如下:

  1. 打开卡巴斯基。
  2. 点击左下角的齿轮图标。
  3. 单击 "Additional" 选项卡并转到 "Network" 设置。
  4. 选择"Do not scan encrypted connections."
  5. 重新启动 windows 并再次尝试 curl 下载。

希望对您有所帮助!

如果您使用的是 WSL 2。只需在 Kasperky 中将虚拟硬盘添加为“加密流量扫描”的受信任应用程序即可。Click on Trusted Applications 单击受信任的应用程序。导航至 User/YourUserFolder/AppData/Packages/YourDistroNameFolder/LocalState/YourDistroVHDKfile。 添加并保存。

在我的例子中,这个问题会发生在 gitnvmrbenvasdf

根本原因是这些问题试图自动为您下载一些文件,而您正在使用某些 GFW 或其他会污染您的 DNS 的东西。

不要尝试修改 /etc/hosts 文件。试试这个:

  1. 了解相关的bash文件
  2. 找到使用curl命令的源代码
  3. 手动下载资源,注释掉curl命令

例如在 asdf 中,当您尝试 asdf install erlang 时,它将首先检查 kerl 是否存在,并且版本匹配。如果没有,它将像这样下载 kerl

download_ker() 函数看起来像:

download_kerl() {
    # Print to stderr so asdf doesn't assume this string is a list of versions
    echo "Downloading kerl..." >&2
    local kerl_url="https://raw.githubusercontent.com/kerl/kerl/${KERL_VERSION}/kerl"
    curl -Lo "$(kerl_path)" $kerl_url
    chmod +x "$(kerl_path)"
}

所以,我们就下载上面列出的文件ker_url,然后把它放到正确的位置,然后chmod +x <file>,然后re-run asdf install erlang,一切都会好的。