Não é possível instalar gemas por trás do proxy

5

Estou executando o 12.04 em uma VM e estou atrás de um proxy corporativo.

Eu tenho o conjunto de variáveis de ambiente (tentei todas as maiúsculas e minúsculas para [http | https | ftp] _proxy, assim como não especificando o usuário: passe, mas definindo http_proxy_ [user | pass])

Eu posso acessar a web via curl / wget e também estou apto a usar minhas configurações de proxy.

Mas não consegui instalar o gem, nem sequer listar, quaisquer gemas remotas.

Quando eu tento, obtenho o seguinte:

$ sudo gem install hiera
ERROR:  Could not find a valid gem 'hiera' (>= 0) in any repository
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    Errno::ECONNREFUSED: Connection refused - connect(2) (http://rubygems.org/latest_specs.4.8.gz)

e

$ sudo gem list -r

*** REMOTE GEMS ***

ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    Errno::ECONNREFUSED: Connection refused - connect(2) (http://rubygems.org/latest_specs.4.8.gz)

Eu fiz algumas pesquisas no StackOverflow e tentei tudo o que não exigia a configuração de uma VPN ou túnel ou programas externos.

Existe algo que eu estou perdendo, ou algo sobre as variáveis env que eu tenho errado?

atualização

Esqueci de mencionar que posso baixar gemas de minha estação de trabalho host e instalá-las dessa maneira, mas prefiro poder instalar diretamente, se possível. É um incômodo, especialmente quando há muitos deps envolvidos.

Além disso, pelo que vale a pena:     $ gem --version     1.8.15

    
por Lee Lowder 06.07.2012 / 19:42

1 resposta

8

O ambiente não é preservado ao usar o sudo, portanto a configuração da variável http_proxy sozinha é ineficaz. Você precisa exportar a variável http_proxy e depois executar o sudo com a opção -E

export http_proxy=...
sudo -E gem list -r
    
por Julien Ch. 06.07.2012 / 19:55