Как использовать bundler за прокси? - PullRequest
52 голосов
/ 07 октября 2010

Я получаю следующий вывод из команды 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, и я добавил gem: --http-прокси = мой прокси в ~ / .gemrc.Эти настройки позволяют моим командам gem работать, и я надеялся, что они преобразуются в bundler, но не повезло.

Думая, что sudo может не унаследовать всю мою среду, я также добавил эти настройки в свойпользователь root, но nada.

На данный момент упаковщик мешает мне развернуть мое приложение, и я могу найти очень мало других, кто сталкивается с этим.Если ни у кого нет ответа, я буду вынужден вырвать пакет из моего приложения на Rails (что я не против ...)

Ответы [ 11 ]

71 голосов
/ 21 декабря 2010

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%
15 голосов
/ 15 августа 2011

Я понял, что настройка HTTP_PROXY (в дополнение к http_proxy) имеет положительное значение, то есть она работает для меня. Итак, если вы правильно установили переменную окружения http_proxy, попробуйте (если вы используете bash)

export HTTP_PROXY=$http_proxy

, а затем также используйте параметр -E для sudo (для сохранения переменных среды), поэтому

sudo -E bundle install

Ярл

5 голосов
/ 28 сентября 2012

, чтобы получить упаковщик за прокси на Win XP / 7 Мне нужно было сделать следующее:

Я добавил http_proxy в переменные среды

  • Мой компьютер
  • Расширенные настройки системы
  • Среда с расширенными вкладками
  • Переменные
  • New
  • Имя переменной = http_proxy
  • Значение переменной = MY_PROXY
  • Нажмите Ok

Измените MY_PROXY на ваш.

это работало для упаковщика. Настройка прокси .gemrc работала только для гемов.

спасибо Джейми

4 голосов
/ 03 сентября 2012

Если вы не хотите устанавливать глобальную переменную в системе, вы можете отредактировать ~ / .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
3 голосов
/ 25 августа 2015

возможно более гибкое и защищенное использование командного файла:

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 голосов
/ 21 октября 2010

Вы можете скачать необходимые гемы локально с помощью gem install, а затем установить пакет.Не совсем аккуратно, я знаю, но это работает.

1 голос
/ 14 июня 2015

ОС Windows, перед выполнением bundle install

SET http_proxy=http://user:password@host:port
выполните следующую команду
0 голосов
/ 07 ноября 2017

Чтобы команда bundle install работала с прокси в Windows, сделайте следующее:

  1. Редактируйте файл .gemrc.Откройте командную строку Windows и введите: notepad %userprofile%\.gemrc.
  2. Файл .gemrc открыт в блокноте.Введите на новой строке http_proxy: http://username:passwordEncodedWithUrlencode@proxyaddress:proxyport.Пароль должен быть закодирован с помощью urlencode.
  3. Закройте файл .gemrc, сохранив его.
0 голосов
/ 14 сентября 2016

Я использую Ubuntu.Переменная $ http_proxy установлена, но она не работает с парой элементов.Одним из таких предметов является драгоценный камень.

Если вы добавите следующее в ~ / .gemrc, оно будет работать.

http_proxy: proxy-url: port

Замените proxy-url: port вашим проксиадрес и порт.После того, как я добавил это, я запустил «установку пакета», и все работало как ожидалось.

0 голосов
/ 26 августа 2015
$ 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/

...