web-dev-qa-db-ja.com

プロキシの背後でバンドラーを使用する方法は?

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を正しく設定し、〜/ .gemrcにgem:--http-proxy = my proxyを追加しました。これらの設定は、gemコマンドを機能させるものであり、それらがbundlerに変換されることを望んでいましたが、そのような運はありません。

Sudoが私の環境のすべてを継承しないかもしれないと考えて、rootユーザーにそれらの設定を追加しましたが、nadaです。

この時点で、Bundlerによってアプリケーションのデプロイが妨げられているため、これを実行している他のユーザーはほとんどいません。誰にも答えがなければ、私はRailsアプリ(これをやっても構わない...)

52
bioneuralnet

OSX&Linux

export http_proxy=http://user:password@Host:port
export HTTP_PROXY=$http_proxy

HTTPSを使用している場合は、同様に設定します

export https_proxy=http://user:password@Host:port
export HTTPS_PROXY=$https_proxy

Sudoを使用する場合、デフォルトでSudoはhttpプロキシ変数を保持しません。つかいます -Eフラグを保持する

$ Sudo -E bundle install

Sudoを作成するには、デフォルトで環境変数を保持します。

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

Windows

以下の回答で指摘されているように、代わりにSETを使用できます

SET HTTP_PROXY=http://user:password@Host:port
SET HTTPS_PROXY=%HTTP_PROXY%
71
ahmy

HTTP_PROXYを(http_proxyに加えて)設定することもプラスの違いを生むことがわかりました。したがって、http_proxy環境変数が正しい、試してください(bashを使用している場合)

export HTTP_PROXY=$http_proxy

そして、-EオプションのSudo(環境変数を保持するため)

Sudo -E bundle install

ジャール

15
Jarl

xP/7でWinのプロキシの後ろにバンドラーを取得するには、次のことを行う必要がありました。

環境変数にhttp_proxyを追加しました

  • 私のコンピューター
  • 高度なシステム設定
  • 高度なタブ環境
  • 変数
  • 新しい
  • 変数名= http_proxy
  • 変数値= MY_PROXY
  • OKをクリック

MY_PROXYを自分のものに変更します。

これはバンドラーで機能しました。 .gemrcプロキシ設定は、gemでのみ機能しました。

ありがとうジェイミー

5
Jamie.Good

システムにグローバル変数を設定したくない場合は、〜/ .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
5
coorasse

Gem installで必要なgemをローカルにダウンロードしてから、バンドルインストールできます。正確ではありませんが、私は知っていますが、うまくいきます。

3
matttyg

おそらく、より柔軟で安全なバッチファイルを使用します。

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
3
vladimir

Windows OS、実行する前に次のコマンドを実行しますbundle install

SET http_proxy=http://user:password@Host:port
1
Jerry Zhang

OSのデフォルトのhttp_proxyが既に設定されていることを確認してください。 Linuxを使用している場合は、次のコマンドを試して、それが指しているプロキシを確認します。

echo $http_proxy

Ubuntu OSでは、http_proxy環境変数を〜/ .bashrcのプロキシサーバーに設定します

0
rasyadi

Ubuntuを実行しています。 $ http_proxy変数は設定されていますが、いくつかのアイテムでは機能しません。それらのアイテムの1つはgemです。

以下を〜/ .gemrcに入れると動作します。

http_proxy:proxy-url:port

Proxy-url:portをプロキシアドレスとポートに置き換えます。それを追加した後、「バンドルインストール」を実行し、すべてが期待どおりに実行されました。

0
grayman
$ 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/

0
Pradeep Bihani

コマンドbundle installをWindows上のプロキシで動作させるには、次の手順を実行します。

  1. ファイル.gemrcを編集します。 Windowsコマンドラインを開き、notepad %userprofile%\.gemrcと入力します。
  2. ファイル.gemrcはメモ帳で開いています。新しい行http_proxy: http://username:passwordEncodedWithUrlencode@proxyaddress:proxyportを入力します。パスワードはurlencodeでエンコードする必要があります。
  3. ファイル.gemrcを保存して閉じます。
0
display_name