2009-07-21 10 views
4

Je suis un grand fan de la façon rubis. Cependant, aujourd'hui, il a été dans mon chemin.Comment installer des rails sur un ordinateur Windows utilisant un serveur proxy pour accéder à Internet?

La façon defacto d'installer des rails (je suis en cours d'exécution en tant qu'utilisateur de domaine sur une machine Windows XP) est

  • télécharger et installer Ruby (un clic installateur)
  • Type >gem install rails à l'invite de commande

L'étape 2 échoue avec une fonction getaddrhost incapable de fonctionner. Googling m'a appris que c'est un problème connu - See Authenticating Windows Proxy Problems on the rubygems FAQ

Les options proposées là pour « utiliser le -p ou --http-proxy http://proxy:port » commutateur pour gem install aussi ne marchait pas des merveilles.

Il y a un lien vers quelque chose qui exécute un serveur pour traverser le serveur proxy - mais il semblerait que python devrait être installé (?? !!). Alors j'ai raté ça. Je vais essayer d'obtenir les fichiers .gem (après avoir trouvé toutes les interdépendances :() de ruby_home\lib\ruby\gems\1.8\cache sur ma machine à la maison rails-friendly et USB-conduire à travers et faire une installation de gem locale. quelqu'un at-il une façon moins douloureuse/rapide de combler ce fossé

Mise à jour:. Day2 Bon alors j'ai les pierres précieuses disponibles localement mais si je fais un

>gem install activesupport-1.4.4 --local 
ERROR: Error installing gem activesupport-1.4.4[.gem]: undefined method `includ 
e?' for nil:NilClass 

J'ai essayé ruby. une fois cliquez sur Installer pour Windows pour 186-27 RC2 et 186-26 Final release. e. Plus de googling conduit à "In case you're having trouble installing gems...". La dernière solution consiste à: supprimer le fichier source_cache dans votre dossier GEM PATH illustré par gem env, puis faire un gem update --system. et bien sûr le serveur proxy entrave l'étape 2.

Ce problème avec les gems est-il corrigé dans une version ultérieure que je peux télécharger?

Répondre

10

Eh bien une autre bataille se termine .. avec une victoire. Il s'avère que le serveur proxy peut être spécifié après tout. Cependant, les commutateurs de ligne de commande documentés -p et --http-proxy ne fonctionnent pas pour une raison quelconque ou je n'étais pas assez intelligent pour comprendre la bonne incantation.

>ruby -v 
ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32] 
>gem -v 
1.3.5 
>gem query -p http 
ERROR: While executing gem ... (OptionParser::InvalidArgument) 
    invalid argument: -p http 

juste pour essayer tout ce que je pourrais-je tenté de mettre la variable d'environnement HTTP_PROXY sur la ligne de commande Windows comme mentionné dans la réponse de WolfByte à this SO question (que je suis tombé sur après le bingo mot-clé de recherche sur google). Et ça a marché !!!

>SET HTTP_PROXY=http://username:[email protected]:port 
>gem update --system 
>gem install rails 

Devinez besoin SO une nouvelle étiquette en ligne "La réponse est là" XFiles ala. Vous avez juste besoin de lutter avec Google pour y arriver. Espérons que cela aide la prochaine personne

+0

"gem update --system" est une étape importante, malgré le fait de ne rien faire. Merci! –

+0

si vous utilisez la console PowerShell dans Windows, utilisez: $ env: HTTP_PROXY = "http: // proxy: port", n'utilisez pas la commande set car elle est aliasée par set-variable dans powershell qui ne définit pas votre variable d'environnement. Cela m'a mordu quelques fois :) – foobarcode

Questions connexes