Comment bundler derrière un proxy?
j'obtiens 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 correctement réglé et j'ai ajouté gem: --http-proxy=mon proxy ~/.gemrc. Ces réglages sont ce qui permet à mes commandes gem de fonctionner, et j'espérais qu'elles se traduiraient en bundler, mais pas de chance.
pensant que sudo n'héritera peut-être pas de tout mon environnement, j'ai aussi ajouté ces paramètres pour mon utilisateur root, mais nada.
à ce point bundler m'empêche de déployer mon application, et je peux trouver très peu d'autres en cours d'exécution dans ce. Si personne n'a de réponse, je serai forcé de retirer bundler de mon application Rails (ce qui ne me dérangerait pas de le faire...)
11 réponses
j'utilise Mac OS et je mets juste http_proxy dans bash
export http_proxy=http://user:password@host:port
et ça marche très bien. Avez-vous utilisé sudo
? Si vous le faites, par défaut sudo
ne préserve pas le mandataire http.
voir ici pour corriger:
https://memset.wordpress.com/2010/10/14/bash-http_proxy-from-a-user-environment-to-sudo-one /
j'ai compris que le réglage de HTTP_PROXY (en plus de http_proxy) faisait une différence positive, c'est-à-dire que ça marchait pour moi. Donc, en supposant que vous avez configuré la variable d'environnement http_proxy
correcte, essayez (si vous utilisez bash)
export HTTP_PROXY=$http_proxy
et ensuite aussi utiliser l'option -E
à sudo( pour préserver les variables d'environnement), donc
sudo -E bundle install
Jarl
pour obtenir bundler derrière un proxy sur win XP / 7, je devais faire ce qui suit:
j'ai ajouté http_proxy aux Variables D'environnement
- Mon Ordinateur
- paramètres système Avancés
- Onglet Avancé De L'Environnement
- Variables
- Nouveau
- nom de la Variable = http_proxy
- valeur Variable = MY_PROXY
- Cliquez Sur Ok
changez MY_PROXY en quelque chose qui vous appartient.
ça a marché pour bundler. Le. le paramètre proxy de la gemrc n'a fonctionné que pour les gemmes.
merci Jamie
Vous pouvez télécharger les gemmes localement avec gem install puis bundle install. Pas exactement soigné, je sais, mais il fonctionne.
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
probablement plus flexible et plus sûr fichier d'utilisation de lot:
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
Windows OS, exécuter la commande suivante avant d'exécuter bundle install
SET http_proxy=http://user:password@host:port
assurez-vous que votre OS par défaut http_proxy est déjà configuré. Si vous utilisez Linux, essayez la commande suivante pour savoir à quel proxy vous pointez.
echo $http_proxy
dans mon OS Ubuntu, j'ai placé ma variable d'environnement http_proxy sur mon serveur mandataire dans ~/.bashrc
$ export http_proxy="http://username:password@host:port"
$ export ftp_proxy="http://username:password@host:port"
$ sudo visudo
Ajouter cette ligne dans le fichier:
Defaults env_keep = "http_proxy ftp_proxy"
au-dessus de cette ligne:
Defaults env_reset
alors exécutez votre commande comme sudo cela fonctionnera.
réf: https://memset.wordpress.com/2010/10/14/bash-http_proxy-from-a-user-environment-to-sudo-one /
je dirige Ubuntu. La variable $http_proxy est définie, mais elle ne fonctionne pas avec quelques éléments. Un de ces objets étant gem.
si vous mettez ce qui suit dans votre ~/.gemrc il va travailler.
http_proxy: proxy-adresse:port
remplacez le port proxy-url: par votre adresse proxy et votre port. Après avoir ajouté ça, j'ai lancé "bundle install" et tout s'est déroulé comme prévu.
Pour avoir la commande bundle install
travailler avec proxy sur windows, procédez de la manière suivante:
- Modifier le fichier
.gemrc
. Ouvrez la ligne de commande de windows et tapez:notepad %userprofile%\.gemrc
. - le dossier .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 . - fermez le fichier .gemrc avec le sauver.