RubyGems 正向代理配置
配置 RubyGems 命令本身,然后把端点语法、代理认证和 TLS 信任分开处理,而不要依赖旧的 Windows 变通做法。
RubyGems 有自己的代理输入。使用公司代理的浏览器或 IDE 并不会设定 gem 命令所选择的端点。
单次获取:
gem fetch rake --http-proxy http://proxy.example:8080把端点换成已获批准的服务。对于允许公共中转的公开 gem 下载,HTTP 代理列表 提供候选。此命令会下载指定的 gem。
重复执行的命令
RubyGems 记录了 HTTP_PROXY、HTTP_PROXY_USER 和 HTTP_PROXY_PASS 用于代理发现。请使用已安装版本支持的接口,以及你所在环境常规的凭据处理方式。
持久设置更改后,现有终端仍保留它们的环境;构建服务又可能有另一套环境。请检查运行失败命令的那个进程。
哪里失败了?
- 地址格式错误
- 检查 URI 方案、主机和端口。Shell 引号和 URI 编码解决的是不同问题。
- 认证挑战
- 检查所要求的方法和账户形式。域形式的用户名并不会添加 NTLM 或其他不受支持的机制。
- 证书失败
- 确定相关的证书和信任存储,并保持校验开启。
针对 Ruby 1.8 和早期 RubyGems 的说明可能描述不同的缺陷和命令行为。请使用已安装版本的接口,而不是围绕旧变通方案去修改它的实现。
gem 源指明软件包的发布位置;正向代理指明通往该源的路由。请更改对失败环节负责的那项设置。