如何在代理之后使用bundler?
我从sudo bundle install命令获得以下输出:
Fetching source index for `http://rubygems.org/` Could not reach rubygems repository `http://rubygems.org/` Could not find gem 'rspec-rails (>= 2.0.0.beta.22, runtime)' in any of the gem sources.
我有$ http_proxy设置正确,我已经添加了gem:–http-proxy =我的代理 〜/ .gemrc。 这些设置是什么让我的gem命令的工作,我希望他们会翻译捆绑,但没有这样的运气。
想到sudo可能不会inheritance我所有的环境,我也将这些设置添加到我的root用户,但是nada。
在这一点上,打包程序正在阻止我部署我的应用程序,而且我可以发现很less有人遇到这个问题。 如果没有人有答案,我将被迫从我的Rails应用程序撕裂捆绑器(我不介意做…)
我正在使用Mac OS,只需在bash中设置http_proxy
export http_proxy=http://user:password@host:port
它工作正常。 你用sudo
吗? 如果你这样做,默认情况下, sudo
不保留http代理。
看到这里纠正它:
https://memset.wordpress.com/2010/10/14/bash-http_proxy-from-a-user-environment-to-sudo-one/
我想到,也设置HTTP_PROXY(除了http_proxy)有积极的作用,即它为我工作。 所以假设你已经设置好了http_proxy
环境variables,试试(如果你使用的是bash)
export HTTP_PROXY=$http_proxy
然后还使用-E
选项来sudo(以保留环境variables),所以
sudo -E bundle install
贵族
在win XP / 7上获取代理后面的代理我需要执行以下操作:
我将http_proxy添加到环境variables中
- 我的电脑
- 高级系统设置
- 高级选项卡环境
- variables
- 新
- variables名称= http_proxy
- variables值= MY_PROXY
- 点击确定
将MY_PROXY更改为任何你的。
这工作捆绑。 .gemrc代理设置仅适用于gem。
谢谢杰米
您可以使用gem install在本地下载所需的gem,然后捆绑安装。 我不清楚,但我知道,但确实有效。
如果你不想在系统中设置一个全局variables,你可以编辑〜/ .gemrc并像这样写
--- :benchmark: false :verbose: true :sources: - http://rubygems.org/ - http://gems.rubyforge.org :backtrace: false :bulk_threshold: 1000 :update_sources: true gem: --http-proxy=http://USERNAME:PASSWORD@ADDRESS:PORT
Windows操作系统,请在执行bundle install
之前运行以下命令
SET http_proxy=http://user:password@host:port
可能更灵活和安全的使用batch file:
SET /P login="Enter proxy login: " SET /P password="Enter proxy password: " SET HTTP_PROXY=http://%login%:%password%@proxy.com:8080 SET HTTPS_PROXY=%HTTP_PROXY% CLS bundle install
确保您的操作系统默认http_proxy已经build立。 如果您使用的是Linux,请尝试使用以下命令来了解它指向哪个代理。
echo $http_proxy
在我的Ubuntu操作系统中,我在〜/ .bashrc中将我的http_proxy环境variables设置为我的代理服务器
$ export http_proxy="http://username:password@host:port" $ export ftp_proxy="http://username:password@host:port" $ sudo visudo
在文件中添加这一行:
Defaults env_keep = "http_proxy ftp_proxy"
在这条线上方:
Defaults env_reset
然后运行你的命令作为sudo它将工作。
ref: https : //memset.wordpress.com/2010/10/14/bash-http_proxy-from-a-user-environment-to-sudo-one/
我正在运行Ubuntu。 $ http_proxyvariables被设置,但它不适用于几个项目。 其中之一是gem。
如果你把〜/ .gemrc中的以下内容,它将工作。
http_proxy:proxy-url:port
将proxy-url:portreplace为您的代理地址和端口。 我添加后,我运行“捆绑安装”,一切按预期运行。
要在Windows上使用代理bundle install
命令bundle install
执行以下操作:
- 编辑文件
.gemrc
。 打开Windows命令行并键入:notepad %userprofile%\.gemrc
。 - 文件.gemrc在记事本中打开。 input新行
http_proxy: http://username:passwordEncodedWithUrlencode@proxyaddress:proxyport
。 密码应该用urlencode进行编码。 - closures文件.gemrc并保存。