Le pare-feu derrière lequel j'exécute exécute le serveur Microsoft ISA en mode NTLM uniquement. Est-ce que quelqu'un a réussi à installer / mettre à jour ses gemmes Ruby via Ruby SSPI gem ou une autre méthode?
... ou suis-je juste paresseux?
Remarque: rubysspi-1.2.4 ne fonctionne pas.
Cela fonctionne également pour "igem", une partie du projet IronRuby
alias gem='ruby -rspa `which gem`'
sudo
avoir accès à vos variables d'environnement en ajoutant le-E
commutateur, par exemple,sudo -E doSomething
Réponses:
Je n'ai pas réussi à faire fonctionner le mien à partir du commutateur de ligne de commande, mais j'ai pu le faire simplement en définissant ma
HTTP_PROXY
variable d'environnement. (Notez que le cas semble être important). J'ai un fichier batch qui contient une ligne comme celle-ci:J'ai défini les quatre variables référencées avant d'arriver à cette ligne évidemment. Par exemple, si mon nom d'utilisateur est "wolfbyte", mon mot de passe est "secret" et mon proxy s'appelle "pigsy" et fonctionne sur le port 8080:
Vous voudrez peut-être faire attention à la façon dont vous gérez cela, car il stocke votre mot de passe en texte brut dans la session de la machine, mais je ne pense pas que cela devrait être trop problématique.
la source
@
par%40
etcPour le système d'exploitation Windows, j'ai utilisé Fiddler pour contourner le problème.
Run gem:
la source
gem install --http-proxy http://COMPANY.PROXY.ADDRESS $gem_name
tout ce qu'il me fallait.sudo gem install jekyll --http-proxy=http://web-proxy.company.com:8080
Cela a totalement fonctionné:
la source
SSL_connect SYSCALL returned=5 errno=0 state=unknown state (https://rubygems.global.ssl.fastly.net/quick/Marshal.4.8/jekyll-3.0.0.gemspec.rz)
. Cela a fonctionné pour moi avecgem install --http-proxy http://127.0.0.1:8580 jekyll
alias geminstall='gem install --http-proxy ${http_proxy}'
pour me faciliter la vie.J'utilise cntlm ( http://cntlm.sourceforge.net/ ) au travail. La configuration est très similaire à ntlmaps.
Fonctionne très bien et me permet également de connecter ma boîte Ubuntu au proxy ISA.
Consultez http://cntlm.wiki.sourceforge.net/ pour plus d'informations
la source
J'ai essayé certaines de ces solutions et aucune n'a fonctionné. J'ai finalement trouvé une solution qui fonctionne pour moi:
en utilisant le
-p
paramètre pour passer le proxy. J'utilise Gem version 1.9.1.la source
proxy_ip
qui est utilisé pour leshttps
connexions afin de fonctionner! Great: D (gem version 2.0.14)Créez un fichier .gemrc (dans / etc / gemrc ou ~ / .gemrc ou par exemple avec chef gem dans / opt / chef / embedded / etc / gemrc) contenant:
Ensuite, vous pouvez
gem install
comme d'habitude.la source
--http-proxy
mais pas avec un.gemrc
fichier, cela peut provenir de lasudo
configuration. J'ai dû vérifier le/etc/sudoers
fichier pour ajouter:Defaults env_keep = "http_proxy ftp_proxy"
avant:Defaults env_reset
Cela a parfaitement résolu mon problème:
Vous devrez peut-être y ajouter votre nom d'utilisateur et votre mot de passe:
la source
Si vous rencontrez des problèmes pour vous authentifier via votre proxy, assurez-vous de définir les variables d'environnement exactement au format ci-dessous:
La
user:password@
syntaxe ne semble pas fonctionner et il y a aussi des variables d'environnement mal nommées flottant sur Stack Overflow et divers messages sur le forum.Sachez également que le téléchargement de vos gemmes peut prendre un certain temps. Au début, je pensais que cela ne fonctionnait pas, mais avec un peu de patience, ils ont commencé à télécharger comme prévu.
la source
J'ai essayé toutes les solutions ci-dessus, mais aucune d'entre elles n'a fonctionné. Si vous êtes sous linux / macOS, je vous suggère fortement d'utiliser tsocks sur un tunnel ssh. Ce dont vous avez besoin pour que cette configuration fonctionne, c'est une machine sur laquelle vous pouvez vous connecter via ssh, et en plus de cela, un programme appelé tsocks est installé.
L'idée ici est de créer un tunnel dynamique via SSH (un proxy socks5). Nous configurons ensuite tsocks pour utiliser ce tunnel et démarrer nos applications, dans ce cas:
ou pour tenir compte des rails 3.0:
Un guide plus détaillé se trouve sous:
http://blog.byscripts.info/2011/04/bypass-a-proxy-with-ssh-tunnel-and-tsocks-under-ubuntu/
Bien qu'elle ait été écrite pour Ubuntu, la procédure devrait être applicable à toutes les machines basées sur Unix. Une alternative aux tsocks pour Windows est FreeCap ( http://www.freecap.ru/eng/ ). Un client SSH viable sur Windows est appelé mastic.
la source
Les publications abondent sur ce sujet, et pour aider les autres à gagner des heures à essayer différentes solutions, voici le résultat final de mes heures de bricolage.
Les trois solutions autour d'Internet en ce moment sont: rubysspi apserver cntlm
rubysspi ne fonctionne qu'à partir d'une machine Windows, AFAIK, car elle repose sur la bibliothèque Win32Api. Donc, si vous êtes sur une boîte Windows essayant de passer par un proxy, c'est la solution pour vous. Si vous êtes sur une distribution Linux, vous n'avez pas de chance.
apserver semble être un projet mort. Le lien répertorié dans les articles que j'ai vus mène à la page 404 sur sourceforge. Je recherche "apserver" sur sourceforge ne renvoie rien.
Le lien sourceforge pour cntlm que j'ai vu redirige vers http://cntlm.awk.cz/ , mais qui expire . Une recherche sur sourceforge révèle ce lien, qui fonctionne: http://sourceforge.net/projects/cntlm/
Après avoir téléchargé et configuré cntlm, j'ai réussi à installer une gemme via le proxy, donc cela semble être la meilleure solution pour les distributions Linux.
la source
Réponse rapide: Ajouter une configuration proxy avec un paramètre pour l'installation / la mise à jour
la source
Une solution de contournement consiste à installer http://web.archive.org/web/20060913093359/http://apserver.sourceforge.net:80/ sur votre ordinateur local, à le configurer et à exécuter des gemmes via ce proxy.
PARENT_PROXY
etPARENT_PROXY_PORT
. Entrez les valeurs de DOMAIN et USER. Laissez PASSWORD vide (rien après les deux points) - vous serez invité lors du lancement.cd aps097; python main.py
gem install—http-proxy http://localhost:5865/ library
la source
Je travaille derrière un proxy et viens d'installer SASS en téléchargeant directement depuis http://rubygems.org .
J'ai ensuite couru
sudo gem install [path/to/downloaded/gem/file]
. Je ne peux pas dire que cela fonctionnera pour tous les joyaux, mais cela peut aider certaines personnes.la source
Cela a fonctionné pour moi dans une boîte Windows:
J'ai un fichier batch avec ces lignes que j'utilise pour définir les valeurs d'environnement quand j'en ai besoin.
L'astuce, dans mon cas, c'était les
HTTPS_PROXY
sets. Sans eux, j'ai toujours eu une erreur d'authentification du proxy 407.la source
Si vous êtes sur un système * nix, utilisez ceci:
puis essayez:
la source
rubysspi-1.3.1 a fonctionné pour moi sur Windows 7, en utilisant les instructions de cette page:
http://www.stuartellis.eu/articles/installing-ruby/
la source
Si vous souhaitez utiliser le proxy SOCKS5, vous pouvez essayer rubygems-socksproxy https://github.com/gussan/rubygems-socksproxy .
Cela fonctionne pour moi sur OSX 10.9.3.
la source
Si derrière un proxy, vous pouvez accéder aux téléchargements Ruby , cliquez sur Télécharger, qui téléchargera la mise à jour spécifiée (ou Gem) à l'emplacement souhaité.
Ensuite, via la ligne de commande Ruby, accédez à l'emplacement téléchargé en utilisant:
pushd [directory]
par exemple :
pushd D:\Setups
puis exécutez la commande suivante:
gem install [update name] --local
par exemple:
gem install rubygems-update --local
.Testé sur Windows 7 avec la mise à jour Ruby version 2.4.1.
Pour vérifier, utilisez la commande suivante:
ruby -v
la source
Plutôt que de modifier des fichiers batch (ce que vous devrez peut-être faire pour d'autres gemmes Ruby, par exemple Bundler), il est probablement préférable de le faire une fois et de le faire correctement.
Sous Windows, derrière mon proxy d'entreprise, tout ce que j'avais à faire était d'ajouter la
HTTP_PROXY
variable d'environnement à mon système.HTTP_PROXY
" et définissez la valeur sur votre serveur proxySelon vos besoins d'authentification, la
HTTP_PROXY
valeur peut être aussi simple que:Ou plus complexe que d'autres l'ont souligné
la source
pour toute personne effectuant un tunneling avec SSH; vous pouvez créer une version de la
gem
commande qui utilise le proxy SOCKS:socksify
avecgem install socksify
(vous devrez pouvoir effectuer cette étape sans proxy, au moins)Copiez votre exe gem existant
Ouvrez-le dans votre éditeur préféré et ajoutez-le en haut (après le shebang)
Configurez votre tunnel
Exécutez votre commande gem avec proxy_gem
la source