web-dev-qa-db-fra.com

Comment utiliser un bundle derrière un proxy?

Je reçois la sortie suivante de la commande 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.

J'ai $ http_proxy défini correctement et j'ai ajouté gem: --http-proxy = mon proxy à ~/.gemrc. Ce sont ces paramètres qui permettent à mes commandes de gem de fonctionner, et j’espérais qu’elles seraient traduites en bundle, mais sans succès.

Pensant que Sudo n'hériterait peut-être pas de tout mon environnement, j'ai également ajouté ces paramètres à mon utilisateur root, mais nada.

À ce stade, le groupeur m'empêche de déployer mon application et je peux en trouver très peu d'autres qui rencontrent ce problème. Si personne n'a de réponse, je serai obligé d'extraire Bundler de mon application Rails (ce qui ne me dérangerait pas de le faire ...)

51
bioneuralnet

OSX et Linux 

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

Si vous utilisez HTTPS, définissez-le également

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

Si vous utilisez Sudo, par défaut, Sudo ne conserve pas la variable proxy http. Utilisez l'indicateur -E pour le conserver

$ Sudo -E bundle install

pour que Sudo préserve les variables d'environnement par défaut: 

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

Les fenêtres 

Comme indiqué par les réponses ci-dessous, vous pouvez utiliser SET à la place

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

J’ai compris que le réglage de HTTP_PROXY (en plus de http_proxy) faisait une différence positive, c’est-à-dire que cela fonctionnait pour moi. Donc, en supposant que vous ayez configuré la variable d’environnement http_proxy correcte, essayez (si vous utilisez bash)

export HTTP_PROXY=$http_proxy

puis utilisez également l'option -E pour Sudo (pour préserver les variables d'environnement), 

Sudo -E bundle install

Jarl

15
Jarl

pour obtenir un bundle derrière un proxy sous Win XP/7, je devais procéder comme suit:

J'ai ajouté http_proxy aux variables d'environnement

  • Mon ordinateur
  • Réglages avancés du système
  • Environnement d'onglets avancé
  • Variables 
  • Nouveau
  • Nom de la variable = http_proxy 
  • Valeur de la variable = MY_PROXY
  • Cliquez sur OK

Changez MY_PROXY en votre faveur.

cela a fonctionné pour le paquet. Le paramètre de proxy .gemrc ne fonctionnait que pour les pierres précieuses.

merci Jamie

5
Jamie.Good

Si vous ne voulez pas définir une variable globale dans le système, vous pouvez éditer ~/.gemrc et l'écrire comme ça

---
: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
4
coorasse

Vous pouvez télécharger les gems requis localement avec l’installation gem puis l’installation groupée. Pas vraiment chouette, je sais, mais ça marche.

3
matttyg

fichier batch d'utilisation probablement plus flexible et sécurisable:

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

Système d'exploitation Windows, exécutez la commande suivante avant d'exécuter bundle install

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

Assurez-vous que http_proxy par défaut de votre système d'exploitation est déjà configuré. Si vous utilisez Linux, essayez la commande suivante pour savoir sur quel proxy elle pointe.

echo $http_proxy

Dans mon système d'exploitation Ubuntu, j'ai défini la variable d'environnement http_proxy sur mon serveur proxy dans ~/.bashrc

0
rasyadi

Je suis sous Ubuntu. La variable $ http_proxy est définie, mais elle ne fonctionne pas avec quelques éléments. Un de ces articles étant une pierre précieuse. 

Si vous mettez le texte suivant dans votre ~/.gemrc, cela fonctionnera.

http_proxy: proxy-url: port

Remplacez le proxy-url: port par votre adresse proxy et votre port. Après avoir ajouté cela, j’ai exécuté "l’installation groupée" et tout a fonctionné comme prévu. 

0
grayman
$ export http_proxy="http://username:password@Host:port"
$ export ftp_proxy="http://username:password@Host:port"
$ Sudo visudo

Ajoutez cette ligne dans le fichier: 

Defaults env_keep = "http_proxy ftp_proxy"

Au dessus de cette ligne:

Defaults        env_reset

puis lancez votre commande en tant que Sudo cela fonctionnera.

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

0
Pradeep Bihani

Pour que la commande bundle install fonctionne avec un proxy sur Windows, procédez comme suit:

  1. Editez le fichier .gemrc. Ouvrez la ligne de commande Windows et tapez: notepad %userprofile%\.gemrc.
  2. Le fichier .gemrc est ouvert dans le bloc-notes. Tapez sur une nouvelle ligne http_proxy: http://username:passwordEncodedWithUrlencode@proxyaddress:proxyport. Le mot de passe doit être encodé avec urlencode.
  3. Fermez le fichier .gemrc en le sauvegardant.
0
display_name