无法通过代理安装宝石

无法通过代理安装宝石

我在虚拟机中运行 12.04,并且使用公司代理。

我已经设置了环境变量(尝试了 [http|https|ftp]_proxy 的全部小写和全部大写,以及不指定用户:pass 但设置 http_proxy_[user|pass])

我可以通过 curl/wget 访问网络,并且我也可以使用我的代理设置。

但我无法安装 gem,甚至无法列出任何远程 gem。

当我尝试时,我得到以下信息:

$ sudo gem install hiera
ERROR:  Could not find a valid gem 'hiera' (>= 0) in any repository
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    Errno::ECONNREFUSED: Connection refused - connect(2) (http://rubygems.org/latest_specs.4.8.gz)

$ sudo gem list -r

*** REMOTE GEMS ***

ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    Errno::ECONNREFUSED: Connection refused - connect(2) (http://rubygems.org/latest_specs.4.8.gz)

我在 StackOverflow 上进行了一些搜索,并尝试了所有不需要设置 VPN 或隧道或外部程序的方法。

我是否遗漏了某些内容,或者我的环境变量是否存在错误?

更新

忘了说了,我可以从我的主机工作站下载 gem 并以此方式安装它们,但如果可能的话,我更愿意直接安装。这很麻烦,尤其是当涉及很多依赖项时。

此外,值得一提的是:$ gem --version 1.8.15

答案1

使用 sudo 时不会保留环境,因此单独设置 http_proxy 变量是无效的。您需要导出 http_proxy 变量,然后使用选项 -E 运行 sudo

export http_proxy=...
sudo -E gem list -r

相关内容