Nastavenia proxy npm pre HTTP a HTTPS
Nastavte proxy trasy npm pre HTTP a HTTPS, pochopte výnimky noproxy a použite súkromnú CA bez vypnutia overovania TLS.
npm má oddelené nastavenia proxy a https-proxy. Rozdiel je v cieli požiadavky. Pri bežnej HTTP proxy tunelujúcej HTTPS môžu obe hodnoty ukazovať na rovnaký koncový bod http://.
Projektový .npmrc môže obsahovať:
proxy=http://203.0.113.10:8080
https-proxy=http://203.0.113.10:8080
noproxy=localhost,127.0.0.1,registry.example.internal
Dokumentačný bod nahraďte svojou proxy; na povolené testy verejného registra ponúka zoznam HTTP proxy kandidátov HTTP. Posledný riadok zámerne ponecháva uvedený interný register priamy. Nie je to ďalšia adresa proxy.
Nechajte npm odoslať požiadavku
Inštalácia z vyrovnávacej pamäte je zlý test trasy: npm už môže mať všetko potrebné. Ping registra je menšia kontrola:
npm ping --registry=https://registry.npmjs.org/
Úspešné dokončenie ukazuje, že toto spustenie npm dosiahlo trasu daného registra. Nedokazuje, že každý hostiteľ tarballu, závislosť Git či samostatný proces správcu balíkov používa rovnakú cestu.
Pri hľadaní konfliktného nastavenia skontrolujte účinné hodnoty namiesto okamžitých úprav ďalších súborov:
npm config get proxy
npm config get https-proxy
npm config get noproxy
Tieto príkazy môžu vypísať prihlasovacie údaje, ak sú vložené do URL. Výstup skontrolujte miestne, nevkladajte ho nezmenený do hlásenia problému.
Projektový .npmrc sa nepoužíva na globálne inštalácie. Ak zlyháva len npm install -g, skontrolujte účinné nastavenie tohto spustenia namiesto predpokladu, že čítalo projektový súbor.
Pred zmenou IP skontrolujte výnimky
npm pracuje aj s premennými prostredia proxy a nastavenie noproxy môže pochádzať z NO_PROXY. Cieľ vynechaný účinnou konfiguráciou sa môže pripojiť priamo, hoci hodnota proxy existuje. Naopak vymazanie riadka z jedného .npmrc neodstráni zdedenú premennú prostredia.
Chyby certifikátov riešte oddelene
Oprávnená inšpekčná proxy môže vyžadovať organizačnú CA, ktorej prostredie Node/npm zatiaľ nedôveruje. npm podporuje súbor CA:
cafile=/path/to/approved-ca-bundle.pem
strict-ssl=true
Použite skutočný schválený balík pre dané prostredie. Nastavenie strict-ssl=false oslabuje overovanie certifikátov; nenahrádza výber správnej proxy ani dôveryhodných podkladov.
Po testoch odstráňte pridané projektové prepísania a znova skontrolujte účinné hodnoty. Projekt tak zdedí pôvodnú konfiguráciu bez zmien iných projektov na rovnakom počítači.