2010-02-10 9 views
20

La domanda 828421 ha posto una domanda simile, ma ha ricevuto solo una risposta reale (aggiorna rubygems) e tale tentativo si traduce in lo stesso errore.Come posso superare "http://gems.rubyforge.org/ messaggio di errore non sembra essere un repository"

Ruby versione 1.9.1.p243 su Windows. Gemma inclusa, versione 1.3.5. Non ho mai installato gemme prima; mai fatto alcuna configurazione speciale per questo Ruby. Ruby funziona, così come irb, e "gem" funziona ma non può installare (e forse altri ops).

provato questo (da un libro):

gem install rspec

ottenuto questo:

ERROR: http://gems.rubyforge.org/ does not appear to be a repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) SocketError: getaddrinfo: The storage control blocks were destroyed. (http://gems.rubyforge.org/yaml)

Quando vado a tale URL (senza "YAML") usando MSIE7, ottengo una pagina dal titolo " Gemcutter | gemma fantastica che ospita "e non ha problemi a girovagare per quel sito. Quindi non penso che sia un problema di proxy (anche se questo è tutto da firewall/proxy aziendali/etc).

Quando vado a quell'URL con "yaml", va a "http://production.s3.rubygems.org/yaml" e mostra quello che presumo è una pagina di specifiche di aggiornamento, iniziando con questo: ---! Ruby/object: Gem :: SourceIndex

Non ho eliminato alcun "blocco di controllo della memorizzazione". Quindi, cosa impedisce alla gem di installare una gemma?

La ricerca sul Web mostra MOLTE persone che hanno lo stesso problema in un lungo lasso di tempo, ma devo ancora vedere qualcuno dire "È a causa di QUESTO, così fai QUESTO per aggiustarlo". Bene, qualcuno ha suggerito di aggiornare "gem", ma provare a ottenere lo stesso errore.

Aiuto per favore?

risposta

15

Il browser potrebbe utilizzare le impostazioni proxy del sistema o una sorta di configurazione automatica. Il comando gemma probabilmente no. Sono dietro un proxy universitario e non posso installare/aggiornare normalmente alcun gioiello, ma posso accedere a tutto con il mio browser. Per installare gem, normalmente creo un tunnel sul mio server in modo da poter bypassare il server proxy.

Questo potrebbe aiutare di configurare le impostazioni proxy per il comando gemma: How do I update Ruby Gems from behind a Proxy (ISA-NTLM)

+0

Sì, il mio browser utilizza la configurazione automatica. C'è un modo per dire a "gem" di usare un proxy? Ah, vedo che hai aggiunto un link per me. Grazie! :) – mike

+5

Come scritto in una delle risposte alla domanda collegata, si potrebbe provare 'gem install --http-proxy http: // localhost: 3128 _name_of_gem_' –

+0

Basta sostituire' localhost: 3128' con l'effettivo indirizzo del server proxy e porta. –

4

Se il proxy richiede l'autenticazione, quindi utilizzare:

gem install --http-proxy http://USERNAME:[email protected]:PORT gem_name 
1

questo può "a volte" significa che per qualche motivo rubygems.org è attualmente inattivo, quindi il tuo "proxy invisibile" locale ti restituisce un 404 o cosa no.

5

Esempio:

sudo gem install nifty-generators -p http://proxy:port 

Funziona bene.

+0

dove dovrei inserire questo codice? –

0

@Tomas Markauskas non ha funzionato per me perché non sono dietro un proxy. E non ho trovato una soluzione da nessuna parte, ho provato disattivare il mio AV e firewall, non ha

Questa è stata la soluzione per me:

gem install rails -r -w -p 

Spero che questo aiuterà le persone con lo stesso problema.

EDIT: Ho Windows 7 a 64 bit.