web-dev-qa-db-fra.com

derrière un proxy

bower install derrière un proxy échoue dans le délai d’expiration avec les paramètres suivants (certains sont inutiles ...):

git config --global http.proxy fr-proxy.example.com:3128
git config --global https.proxy fr-proxy.example.com:3128

export http_proxy=http://fr-proxy.example.com:3128
export https_proxy=http://fr-proxy.example.com:3128

npm config set proxy http://fr-proxy.example.com:3128
npm config set https-proxy http://fr-proxy.example.com:3128

npm config set registry http://registry.npmjs.org/

J'ai également essayé une installation/désinstallation de Bower et un bower clean cache.

49
benek

Editez votre fichier .bowerrc et ajoutez la configuration de proxy souhaitée:

{
    "proxy":"http://<Host>:<port>",
    "https-proxy":"http://<Host>:<port>"
}

Si vous travaillez derrière un proxy authentifié, l'utilisateur et le mot de passe doivent être inclus comme ceci:

{
    "proxy":"http://<user>:<password>@<Host>:<port>",
    "https-proxy":"http://<user>:<password>@<Host>:<port>"
}

Habituellement, le .bowerrc est à côté du bower.json. Et s'il n'y a pas de fichier .bowerrc près du fichier bower.json, vous pouvez en créer un vous-même.

98
rmic

J'ai un problème avec la commande bower list, Qui est due au fait que bower utilise git avec les adresses git:// Pour obtenir la liste des référentiels GitHub distants, mais git:// Le protocole est bloqué par notre pare-feu d'entreprise. Afin de résoudre ce problème en plus de définir des variables d'environnement, je dois aussi ajouter des configurations supplémentaires à git. Voici la liste complète des commandes que je dois exécuter (n'oubliez pas de remplacer le proxy hôte et le port par le vôtre):

# set proxy for command line tools
export HTTP_PROXY=http://localhost:3128
export HTTPS_PROXY=http://localhost:3128
export http_proxy=http://localhost:3128
export https_proxy=http://localhost:3128

# add configuration to git command line tool
git config --global http.proxy http://localhost:3128
git config --global https.proxy http://localhost:3128
git config --global url."http://".insteadOf git://

Les variables d'environnement standard dans Bash sont mises en majuscule. Pour les mandataires, elles sont HTTP_PROXY Et HTTPS_PROXY, Mais certains outils s'attendent à ce qu'elles soient en minuscules. Bower est l'un de ces outils. C'est pourquoi je préfère avoir un proxy défini dans 2 cas: inférieur et supérieur.

Bower utilise git pour obtenir les paquets de GitHub, c’est pourquoi les clés de configuration doivent également être ajoutées à git. http.proxy Et https.proxy Sont des paramètres de proxy et doivent pointer sur votre proxy. Enfin, vous devez indiquer à git de ne pas utiliser le protocole git://, Car il peut être bloqué par un pare-feu. Vous devez le remplacer par le protocole standard http://. Certains suggèrent d’utiliser https:// Au lieu de git:// Comme suit: git config --global url."https://".insteadOf git://, Mais j’obtenais l’erreur Connection reset by peer, Aussi j’utilise http://. ], qui fonctionne bien pour moi.

À la maison, je n’utilise aucun proxy et je n’ai pas de pare-feu d’entreprise. Je préfère donc revenir à des paramètres "normaux" sans proxy. Voici comment je le fais:

# remove proxy environment variables
unset HTTP_PROXY
unset HTTPS_PROXY
unset http_proxy
unset https_proxy
# remove git configurations

git config --global --unset http.proxy
git config --global --unset https.proxy
git config --global --unset url."http://".insteadOf

Je ne suis pas très doué pour me souvenir de choses, alors je ne me souviendrais jamais de toutes ces commandes. En plus de cela, je suis paresseux et je ne voudrais pas taper ces longues commandes à la main. C'est pourquoi je créais des fonctions permettant de définir et de désactiver les paramètres de proxy. Voici 2 fonctions que j'ai ajoutées à mon fichier .bashrc Après quelques définitions d'alias:

set_proxy() {
    export HTTP_PROXY=http://localhost:3128
    export HTTPS_PROXY=http://localhost:3128
    # some tools uses lowercase env variables
    export http_proxy=http://localhost:3128
    export https_proxy=http://localhost:3128
    # config git
    git config --global http.proxy http://localhost:3128
    git config --global https.proxy http://localhost:3128
    git config --global url."http://".insteadOf git://
}
unset_proxy() {
    unset HTTP_PROXY
    unset HTTPS_PROXY
    unset http_proxy
    unset https_proxy
    git config --global --unset http.proxy
    git config --global --unset https.proxy
    git config --global --unset url."http://".insteadOf
}

Maintenant, lorsque je dois définir un proxy, je viens d'exécuter la commande set_proxy Et de désinstaller la commande unset_proxy. Avec l'aide de la saisie semi-automatique de Bash, je n'ai même pas besoin de taper ces commandes, mais laissez-les terminer pour moi.

30
edufinn

Mon script (utilisant git bash sous Windows) pour configurer le proxy a été exécuté par un utilisateur différent de celui que j'utilisais pour Bower. Les variables d'environnement n'ont pas été prises en compte.

Donc, le paramètre suivant est suffisant, comme spécifié dans d'autres réponses:

export http_proxy=http://fr-proxy.example.com:3128
export https_proxy=http://fr-proxy.example.com:3128
6
benek

Si votre système d'exploitation est Linux ou OS X, essayez la commande suivante bash http_proxy='proxy server' https_proxy='proxy server' bower

0
tinyproxy