如何在代理后面使用bundler?

bio*_*net 52 ruby proxy rubygems ruby-on-rails 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.
Run Code Online (Sandbox Code Playgroud)

我正确设置了$ http_proxy并且我已经添加了gem:--http-proxy =我的代理到〜/ .gemrc.这些设置允许我的gem命令工作,我希望他们会转换为bundler,但没有这样的运气.

思考sudo可能不会继承我的所有环境,我也将这些设置添加到我的root用户,但是nada.

此时,bundler阻止我部署我的应用程序,我发现很少有其他人遇到这个问题.如果没有人有答案,我将被迫从我的Rails应用程序(我不介意做...)中破解捆绑器

ahm*_*hmy 71

OSX和Linux

export http_proxy=http://user:password@host:port
export HTTP_PROXY=$http_proxy
Run Code Online (Sandbox Code Playgroud)

如果它使用HTTPS,也可以设置它

export https_proxy=http://user:password@host:port
export HTTPS_PROXY=$https_proxy
Run Code Online (Sandbox Code Playgroud)

如果使用sudo,默认情况下sudo不会保留http代理变量.使用-Eflag来保存它

$ sudo -E bundle install
Run Code Online (Sandbox Code Playgroud)

使sudo默认保存环境变量:

https://memset.wordpress.com/2010/10/14/bash-http_proxy-from-a-user-environment-to-sudo-one/

视窗

正如下面的答案所指出的,您可以SET改为使用

SET HTTP_PROXY=http://user:password@host:port
SET HTTPS_PROXY=%HTTP_PROXY%
Run Code Online (Sandbox Code Playgroud)

  • 它在Windows框中为我工作,通过"SET"命令执行完全相同的操作,例如`SET http_proxy = http:// user:password @ host:port`并在cygwin中工作:) (8认同)

Jar*_*arl 15

我发现设置HTTP_PROXY(除了http_proxy)也产生了积极的影响,即它对我有用.因此,假设您已设置http_proxy环境变量正确,请尝试(如果您使用的是bash)

export HTTP_PROXY=$http_proxy
Run Code Online (Sandbox Code Playgroud)

然后还使用-Esudo选项(保存环境变量),所以

sudo -E bundle install
Run Code Online (Sandbox Code Playgroud)

贵族


coo*_*sse 5

如果您不想在系统中设置全局变量,则可以编辑〜/ .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
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,捆绑器忽略了这一点。 (2认同)

小智 5

要在win XP/7上获得代理服务器,我需要执行以下操作:

我将http_proxy添加到Environment Variables中

  • 我的电脑
  • 高级系统设置
  • 高级选项卡环境
  • 变量
  • 变量名= http_proxy
  • 变量值= MY_PROXY
  • 单击确定

将MY_PROXY更改为您的任何内容.

这适用于捆绑商..gemrc代理设置仅适用于gem.

谢谢杰米

  • 我只是在调用bundle之前添加它,而不是在环境中使用`SET HTTP_PROXY = http:// username:password @ www.proxy.com` (4认同)