Ustawienia proxy npm dla HTTP i HTTPS
Skonfiguruj trasy proxy HTTP i HTTPS npm, poznaj wyjątki noproxy i obsłuż prywatny CA bez wyłączania weryfikacji TLS.
npm ma osobne ustawienia proxy i https-proxy. Różnica dotyczy celu żądania. Dla zwykłego proxy HTTP tunelującego HTTPS obie wartości mogą wskazywać ten sam punkt http://.
Projektowy .npmrc może zawierać:
proxy=http://203.0.113.10:8080
https-proxy=http://203.0.113.10:8080
noproxy=localhost,127.0.0.1,registry.example.internal
Zastąp dokumentacyjny punkt swoim proxy; do dozwolonych testów publicznego rejestru lista proxy HTTP dostarcza kandydatów HTTP. Ostatni wiersz celowo pozostawia wskazany rejestr wewnętrzny na połączeniu bezpośrednim. To nie kolejny adres proxy.
Poproś npm o wykonanie żądania
Instalacja z pamięci podręcznej jest słabym testem trasy: npm może już mieć wszystko, czego potrzebuje. Ping rejestru jest mniejszą kontrolą:
npm ping --registry=https://registry.npmjs.org/
Pomyślne zakończenie dowodzi, że to wywołanie npm dotarło do trasy tego rejestru. Nie dowodzi, że każdy host tarballa, zależność Git lub odrębny proces menedżera pakietów używa tej samej ścieżki.
Aby znaleźć sprzeczne ustawienie, sprawdź wartości efektywne zamiast natychmiast edytować więcej plików:
npm config get proxy
npm config get https-proxy
npm config get noproxy
Polecenia mogą wypisać dane uwierzytelniające, jeśli są osadzone w URL. Obejrzyj wynik lokalnie, zamiast wklejać go bez zmian do zgłoszenia.
Projektowy .npmrc nie jest używany do instalacji globalnych. Jeśli zawodzi tylko npm install -g, sprawdź efektywną konfigurację tego wywołania zamiast zakładać, że odczytało plik projektu.
Sprawdź wyjątki przed zmianą IP
npm korzysta też ze zmiennych środowiskowych proxy, a ustawienie noproxy może pochodzić z NO_PROXY. Cel wyłączony przez efektywną konfigurację może łączyć się bezpośrednio mimo ustawionego proxy. Z kolei usunięcie wiersza z jednego .npmrc nie usuwa odziedziczonej zmiennej środowiskowej.
Błędy certyfikatów traktuj osobno
Autoryzowane proxy inspekcyjne może wymagać CA organizacji, któremu konfiguracja Node/npm jeszcze nie ufa. npm obsługuje plik CA:
cafile=/path/to/approved-ca-bundle.pem
strict-ssl=true
Użyj rzeczywistego zatwierdzonego zestawu dla tego środowiska. Ustawienie strict-ssl=false osłabia weryfikację certyfikatów; nie zastępuje wyboru właściwego proxy ani materiału zaufania.
Po testach usuń dodane nadpisania projektu i ponownie sprawdź wartości efektywne. Projekt odziedziczy wcześniejszą konfigurację bez zmieniania innych projektów na tej samej maszynie.