wake-up-neo.com

Wie benutze ich einen Bundler hinter einem Proxy?

Ich erhalte folgende Ausgabe vom Sudo-Paket 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.

Ich habe $ http_proxy richtig gesetzt und habe gem hinzugefügt: --http-proxy = mein Proxy zu ~/.gemrc. Diese Einstellungen erlauben es meinen Edelsteinbefehlen, zu funktionieren, und ich hatte gehofft, sie würden in Bundler übersetzt, aber kein solches Glück.

Ich denke, Sudo könnte meine gesamte Umgebung nicht erben. Ich habe diese Einstellungen auch meinem Stammbenutzer hinzugefügt, aber nada.

An diesem Punkt hindert der Bundler mich daran, meine Anwendung bereitzustellen, und ich kann nur sehr wenige andere finden, die sich darauf einlassen. Wenn niemand eine Antwort hat, muss ich Bundler aus meiner Rails-App entfernen (was mir aber nichts ausmacht ...)

51
bioneuralnet

OSX & Linux 

export http_proxy=http://user:[email protected]:port
export HTTP_PROXY=$http_proxy

Wenn es HTTPS verwendet, legen Sie es ebenfalls fest

export https_proxy=http://user:[email protected]:port
export HTTPS_PROXY=$https_proxy

Wenn Sie Sudo verwenden, behält Sudo standardmäßig keine http-Proxy-Variable bei. Verwenden Sie -E, um es zu erhalten

$ Sudo -E bundle install

Sudo lässt Umgebungsvariablen standardmäßig beibehalten: 

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

Windows 

Wie die Antworten unten zeigen, können Sie stattdessen SET verwenden

SET HTTP_PROXY=http://user:[email protected]:port
SET HTTPS_PROXY=%HTTP_PROXY%
70
ahmy

Ich fand heraus, dass auch das Setzen von HTTP_PROXY (zusätzlich zu http_proxy) einen positiven Unterschied machte, d. H. Es funktionierte für mich. Nehmen Sie also an, dass Sie die http_proxy-Umgebungsvariable korrekt eingerichtet haben, und versuchen Sie (wenn Sie bash verwenden)

export HTTP_PROXY=$http_proxy

und dann auch die -E-Option für Sudo verwenden (um Umgebungsvariablen zu erhalten) 

Sudo -E bundle install

Jarl

15
Jarl

um Bundler hinter einem Proxy unter Win XP/7 zu bekommen, musste ich Folgendes tun:

Ich habe den Umgebungsvariablen http_proxy hinzugefügt

  • Mein Computer
  • Erweiterte Systemeinstellungen
  • Erweiterte Tab-Umgebung
  • Variablen 
  • Neu
  • Variablenname = http_proxy 
  • Variablenwert = MY_PROXY
  • OK klicken

Ändern Sie MY_PROXY in was auch immer Sie ist.

das funktionierte für Bündler. Die .gemrc-Proxyeinstellung funktionierte nur für Edelsteine.

danke Jamie

5
Jamie.Good

Wenn Sie keine globale Variable im System festlegen möchten, können Sie ~/.gemrc bearbeiten und so schreiben

---
: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:[email protected]:PORT
4
coorasse

Sie können die erforderlichen Edelsteine ​​lokal mit der Gem-Installation herunterladen und dann die Bundle-Installation durchführen. Nicht gerade ordentlich, ich weiß, aber es funktioniert.

3
matttyg

bessere Batch-Datei, wahrscheinlich flexibler und sicherer

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
vladimirG

Windows-Betriebssystem: Führen Sie den folgenden Befehl aus, bevor Sie bundle install ausführen.

SET http_proxy=http://user:[email protected]:port
1
Jerry Zhang

Stellen Sie sicher, dass Ihr Betriebssystem standardmäßig http_proxy eingerichtet ist. Wenn Sie Linux verwenden, versuchen Sie den folgenden Befehl, um zu erfahren, auf welchen Proxy er verweist.

echo $http_proxy

In meinem Ubuntu-Betriebssystem habe ich meine Umgebungsvariable http_proxy in ~/.bashrc auf meinen Proxyserver gesetzt

0
rasyadi

Ich betreibe Ubuntu. Die $ http_proxy-Variable ist gesetzt, funktioniert jedoch nicht mit einigen Elementen. Eines dieser Dinge ist Juwel. 

Wenn Sie folgendes in ~/.gemrc einfügen, funktioniert es.

http_proxy: Proxy-URL: Port

Ersetzen Sie den Proxy-URL: Port durch Ihre Proxy-Adresse und Ihren Port. Nachdem ich das hinzugefügt hatte, habe ich "Bundle Install" ausgeführt und alles lief wie erwartet. 

0
grayman
$ export http_proxy="http://username:[email protected]:port"
$ export ftp_proxy="http://username:[email protected]:port"
$ Sudo visudo

Fügen Sie diese Zeile in die Datei ein: 

Defaults env_keep = "http_proxy ftp_proxy"

Über dieser Zeile:

Defaults        env_reset

führen Sie dann Ihren Befehl als Sudo aus.

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

0
Pradeep Bihani

Um den Befehl bundle install mit dem Proxy unter Windows arbeiten zu lassen, gehen Sie folgendermaßen vor:

  1. Bearbeiten Sie die Datei .gemrc. Öffnen Sie die Windows-Befehlszeile und geben Sie Folgendes ein: notepad %userprofile%\.gemrc.
  2. Die Datei .gemrc ist im Editor geöffnet. Geben Sie in eine neue Zeile http_proxy: http://username:[email protected]:proxyport ein. Das Passwort sollte mit einem URL-Code codiert sein.
  3. Schließen Sie die Datei .gemrc mit dem Speichern.
0
display_name