如何在代理之后使用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执行以下操作:

  1. 编辑文件.gemrc 。 打开Windows命令行并键入: notepad %userprofile%\.gemrc
  2. 文件.gemrc在记事本中打开。 input新行http_proxy: http://username:passwordEncodedWithUrlencode@proxyaddress:proxyport 。 密码应该用urlencode进行编码。
  3. closures文件.gemrc并保存。
Interesting Posts