ruby on rails - ver - ¿Cómo usar bundler detrás de un proxy?
ver version de rails (11)
Obtengo el siguiente resultado del comando de instalación del paquete sudo :
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.
Tengo $ http_proxy configurado correctamente y he agregado gema: --http-proxy = mi proxy a ~ / .gemrc. Estos ajustes son los que permiten que mis comandos gem funcionen, y esperaba que se tradujesen a bundler, pero no tuvieron tanta suerte.
Pensando en sudo podría no heredar todo mi entorno, también agregué esas configuraciones a mi usuario raíz, pero nada.
En este momento, bundler me está impidiendo implementar mi aplicación, y puedo encontrar muy pocos otros corriendo en esto. Si nadie tiene una respuesta, me veré obligado a arrancar el paquete de mi aplicación Rails (que no me importaría hacer ...)
Asegúrate de que tu http_proxy predeterminado del sistema operativo ya esté configurado. Si está utilizando Linux intente con el siguiente comando para saber a qué proxy está apuntando.
echo $http_proxy
En mi sistema operativo Ubuntu, establecí mi variable de entorno http_proxy en mi servidor proxy en ~ / .bashrc
Estoy ejecutando Ubuntu. La variable $ http_proxy está configurada, pero no funciona con un par de elementos. Uno de esos artículos es gema.
Si pones lo siguiente en tu ~ / .gemrc, funcionará.
http_proxy: proxy-url: puerto
Reemplace el proxy-url: puerto con su dirección proxy y puerto. Después de que agregué eso, ejecuté "paquete de instalación" y todo funcionó como se esperaba.
Estoy usando Mac OS y simplemente estoy configurando http_proxy en bash
export http_proxy=http://user:password@host:port
y funciona bien ¿ sudo
? Si lo hace, de manera predeterminada, sudo
no conserva el proxy http.
mira aquí para corregirlo:
https://memset.wordpress.com/2010/10/14/bash-http_proxy-from-a-user-environment-to-sudo-one/
Me di cuenta de que también establecer HTTP_PROXY (además de http_proxy) hizo una diferencia positiva, es decir, funcionó para mí. Entonces, suponiendo que haya configurado la variable de entorno http_proxy
correcta, intente (si está utilizando bash)
export HTTP_PROXY=$http_proxy
y luego también use la opción -E
para sudo (para preservar las variables de entorno), entonces
sudo -E bundle install
Jarl
Para tener el trabajo de bundle install
comando con proxy en Windows haga lo siguiente:
- Editar el archivo
.gemrc
. Abra la línea de comandos de Windows y escriba:notepad %userprofile%/.gemrc
. - El archivo .gemrc está abierto en el bloc de notas. Escriba en una nueva línea
http_proxy: http://username:passwordEncodedWithUrlencode@proxyaddress:proxyport
. La contraseña debe estar codificada con urlencode. - Cierre el archivo .gemrc con guardarlo.
Puede descargar las gemas requeridas localmente con gem install y luego bundle install. No exactamente limpio, lo sé, pero funciona.
Si no desea establecer una variable global en el sistema, puede editar ~ / .gemrc y escribirla así
---
: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
Sistema operativo Windows, ejecute el siguiente comando antes de ejecutar la bundle install
SET http_proxy=http://user:password@host:port
para obtener bundler detrás de un proxy en Windows XP / 7, necesitaba hacer lo siguiente:
Agregué http_proxy a las variables de entorno
- Mi computadora
- Configuración avanzada del sistema
- Entorno de pestaña avanzado
- Variables
- Nuevo
- Nombre de la variable = http_proxy
- Valor variable = MY_PROXY
- Haga clic en Aceptar
Cambia MY_PROXY a lo que sea tuyo.
esto funcionó para bundler. La configuración del proxy .gemrc solo funcionaba para las gemas.
gracias Jamie
probablemente sea un archivo por lotes de uso más flexible y asegurable:
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
$ export http_proxy="http://username:password@host:port"
$ export ftp_proxy="http://username:password@host:port"
$ sudo visudo
Agregue esta línea en el archivo:
Defaults env_keep = "http_proxy ftp_proxy"
Sobre esta línea:
Defaults env_reset
luego ejecuta tu comando como sudo funcionará.
ref: https://memset.wordpress.com/2010/10/14/bash-http_proxy-from-a-user-environment-to-sudo-one/