公司代理后 Windows 的货物

Cargo on Windows behind a corporate proxy

我认为这是那些想在 Windows 工作时使用 Cargo 的人中很常见的问题;我已经看到多个 GitHub 问题和与之相关的论坛帖子,但是 none 的答案解决了我的问题。

每当我尝试构建一些指向 crates.io crate 的代码时,我都会收到以下错误:

 Downloading <package>
error: unable to get packages from source

Caused by:
  failed to download package <package> from <package address>

Caused by:
  SSL connect error

我该怎么做才能解决这个问题?我知道 Cargo 可以使用 .cargo/config 处的设置并且代理详细信息可以包含在那里,但它对我不起作用,无论是否指定证书的路径(我使用的是与 curl 一起分发的), 如下所示:

[http]
proxy = "http://user:password@proxy-address.xyz:port"
cainfo = "cert.pem"

[https]
proxy = "https://user:password@proxy-address.xyz:port"
cainfo = "cert.pem"

配置文件中指定的代理可用于任何其他目的。

我正在使用 Windows 7 64 位、Rust 1.11 GNU 和与之捆绑的 Cargo。我怎样才能让这个工作?目前,我不得不求助于从他们的存储库中手动下载板条箱源代码,并在 Cargo 配置文件中为每个板条箱指定 paths = [...]

这似乎不再是与 Rust 1.13 稳定版捆绑在一起的 cargo 0.13 的问题 - 我不再需要手动下载包并将它们放入 cargo 的配置文件中的 paths

我有同样的问题,我解决了简单地设置环境变量 http_proxyhttps_proxyhttp(s)://user:password@proxy-address.xyz:port

唯一烦人的部分是,当您需要取消设置代理时(例如,当您在不使用公司 VPN 的情况下从另一个网络智能工作时)您必须取消设置/删除这些变量。