npm et yarn derrière un proxy
Les réseaux d'entreprise perturbent npm install de manière prévisible. Voici comment configurer npm et les deux principales versions de yarn pour installer via un proxy HTTP — plus les variables d'environnement partagées par l'ensemble de la chaîne d'outils Node.
npm, yarn et le proxy HTTP
Les gestionnaires de paquets téléchargent via HTTPS, donc ils ont besoin d'un proxy HTTP CONNECT — qui est exactement le point de terminaison HTTP s4m sur le port 3128. npm garde sa propre configuration, donc définir les variables d'environnement du shell n'est pas toujours suffisant ; vous devez généralement définir à la fois proxy et https-proxy dans la configuration npm pour que le trafic du registre soit acheminé. Les deux générations de Yarn diffèrent : le yarn classique v1 lit ses propres paramètres proxy / https-proxy (et honore largement ceux de npm), tandis que Yarn Berry (v2+) utilise les clés httpProxy et httpsProxy dans .yarnrc.yml.
Pour tous, les variables d'environnement standard http_proxy, https_proxy et no_proxy sont également respectées, ce qui est le moyen le plus rapide de corriger une installation unique de npm install sur une machine verrouillée. Avec s4m, vous vous authentifiez avec USER:PASS contre proxy.s4m.online:3128. Consultez la page proxy et le guide des variables d'environnement partagé ; le guide frère pip et conda couvre l'équivalent Python.
Configurer npm, yarn v1 et Berry
Configuration persistante pour chaque outil plus le fallback de variable d'environnement. Remplacez USER:PASS avant d'exécuter.
# --- npm: persistent config (writes to ~/.npmrc) --- npm config set proxy http://USER:PASS@proxy.s4m.online:3128 npm config set https-proxy http://USER:PASS@proxy.s4m.online:3128 npm config set noproxy localhost,127.0.0.1,.internal npm install # To undo later: # npm config delete proxy && npm config delete https-proxy # --- yarn v1 (classic) --- yarn config set proxy http://USER:PASS@proxy.s4m.online:3128 yarn config set https-proxy http://USER:PASS@proxy.s4m.online:3128 # --- Yarn Berry (v2+): .yarnrc.yml --- cat >> .yarnrc.yml <<'YML' httpProxy: "http://USER:PASS@proxy.s4m.online:3128" httpsProxy: "http://USER:PASS@proxy.s4m.online:3128" YML # --- Environment variables: quickest one-off fix --- export https_proxy="http://USER:PASS@proxy.s4m.online:3128" export http_proxy="http://USER:PASS@proxy.s4m.online:3128" export no_proxy="localhost,127.0.0.1,.internal" npm install
Corrigez npm install derrière un proxy
L'ordre d'essayer les choses lorsque les installations expirent.
Confirmez qu'il s'agit du proxy
Exécutez npm install -ddd (ou avec --verbose) et recherchez ETIMEDOUT ou ECONNREFUSED vers le registre — cela indique une connexion sortante bloquée nécessitant un proxy.
Définir le proxy npm et https-proxy
Utilisez npm config set pour le proxy et https-proxy pointant vers http://USER:PASS@proxy.s4m.online:3128. Le trafic du registre est HTTPS, donc https-proxy est celui qui compte généralement.
Faites correspondre votre version de yarn
Pour yarn v1, utilisez yarn config set ; pour Yarn Berry, ajoutez httpProxy et httpsProxy à .yarnrc.yml. Ne mélangez pas les deux styles de configuration.
Ajouter un noproxy pour les registres internes
Si vous utilisez également un registre privé sur le LAN, ajoutez son hôte à noproxy / no_proxy afin qu'il soit atteint directement au lieu de passer par le proxy externe.
Auth, registres privés et pièges
Deux choses interrompent les installations même après que le proxy soit configuré. Premièrement, les caractères spéciaux dans le mot de passe : s'il contient @, : ou #, encodez-les en URL (par exemple, @ devient %40) sinon la configuration analyse mal l'URL. Deuxièmement, un mélange de registries publics et privés : mettez tout hôte de registre interne dans noproxy afin qu'il soit atteint directement, tandis que le registre npm public passe par le proxy.
Le point de terminaison HTTP de s4m est un proxy de datacenter authentifié, facturé à l'utilisation — un ajustement parfait pour les exécuteurs CI et les machines de développement qui doivent accéder à npm depuis derrière une sortie contrôlée. Ce n'est pas un proxy résidentiel et ce n'est pas un cache de paquets ; pour les installations hors ligne, utilisez un véritable miroir de registre. Lorsque votre CI a besoin d'une seule adresse IP de sortie autorisée, ajoutez une adresse IP personnelle dédiée. Un 407 signifie de mauvaises informations d'identification — consultez le guide 407. Le même point de terminaison alimente pip/conda et Docker ; validez-le avec les outils.
Questions, réponses
Pourquoi npm install se bloque-t-il ou expire-t-il derrière un proxy ?
Le registre est accessible via HTTPS et votre connexion sortante est bloquée. Définissez le proxy npm et https-proxy (et/ou les variables d'environnement http_proxy/https_proxy) pour passer par http://USER:PASS@proxy.s4m.online:3128.
Comment configurer Yarn Berry par rapport à yarn v1 ?
Yarn v1 utilise yarn config set proxy / https-proxy. Yarn Berry (v2+) utilise les clés httpProxy et httpsProxy dans .yarnrc.yml. Utilisez un style par projet ; ne les mélangez pas.
Mon mot de passe contient des caractères spéciaux et le proxy échoue — pourquoi ?
npm analyse la valeur du proxy comme une URL, donc des caractères comme @, : ou # dans le mot de passe doivent être encodés en URL (par exemple @ devient %40). Après encodage, les identifiants s'analysent correctement.
Comment garder un registre interne hors du proxy ?
Ajoutez le nom d'hôte du registre interne à la liste noproxy (npm) ou no_proxy (env). Cet hôte est alors atteint directement tandis que le trafic du registre public passe toujours par le proxy.
Débloquez vos installations Node
Dirigez npm et yarn à travers le point de terminaison HTTP authentifié sur proxy.s4m.online:3128. Paiement à l'utilisation, avec une IP dédiée lorsque CI en a besoin pour un egress autorisé.
Les gens ont trouvé cette page en recherchant
- npm et yarn derrière un proxy
- curl avec un proxy SOCKS5
- gratuit configuration du proxy
- configuration du proxy
- est proxy socks5 sûr
- méthodes d'authentification SOCKS5 (RFC 1929)
- proxy socks5
- proxy http
- proxy pour le scraping pour les entreprises
- interrupteur d'arrêt VPN tutoriel
- Réglages adresse IP
- FAQ sur les VPN et les proxies
Vraies phrases de recherche auxquelles cette page répond — les liens ouvrent la page qui les couvre en profondeur.