npm are setări separate proxy și https-proxy. Diferența este destinația solicitată. Pentru un proxy HTTP obișnuit care tunelează HTTPS, ambele valori pot indica același punct http://.

Un .npmrc la nivel de proiect poate conține:

proxy=http://203.0.113.10:8080
https-proxy=http://203.0.113.10:8080
noproxy=localhost,127.0.0.1,registry.example.internal

Înlocuiește punctul de documentație cu proxy-ul tău; pentru teste permise ale registrelor publice, lista de proxy-uri HTTP oferă candidați HTTP. Ultima linie lasă intenționat registrul intern numit pe conexiune directă. Nu este o altă adresă proxy.

Cere npm să facă o cerere

O instalare din cache este un test slab de rutare: npm poate avea deja tot ce îi trebuie. Un ping al registrului este o verificare mai mică:

npm ping --registry=https://registry.npmjs.org/

Finalizarea cu succes arată că această invocare npm a ajuns la ruta acelui registru. Nu dovedește că fiecare gazdă tarball, dependență Git sau proces separat al unui manager de pachete folosește aceeași cale.

Pentru a găsi o setare în conflict, inspectează valorile efective în loc să editezi imediat alte fișiere:

npm config get proxy
npm config get https-proxy
npm config get noproxy

Comenzile pot afișa date de autentificare dacă sunt incluse într-un URL. Verifică local ieșirea, nu o lipi neschimbată într-un raport de problemă.

Fișierul .npmrc al proiectului nu este folosit pentru instalări globale. Dacă doar npm install -g eșuează, verifică configurația efectivă a acelei invocări, nu presupune că a citit fișierul proiectului.

Verifică excluderile înainte să schimbi IP-ul

npm funcționează și cu variabile de mediu proxy, iar setarea noproxy poate proveni din NO_PROXY. O destinație exclusă de configurația efectivă se poate conecta direct chiar dacă există o valoare proxy. Invers, ștergerea unei linii dintr-un .npmrc nu elimină o variabilă de mediu moștenită.

Separă erorile de certificat

Un proxy de inspecție autorizat poate cere o CA a organizației în care mediul tău Node/npm nu are încă încredere. npm acceptă un fișier CA:

cafile=/path/to/approved-ca-bundle.pem
strict-ssl=true

Folosește pachetul aprobat real pentru acel mediu. Setarea strict-ssl=false slăbește verificarea certificatelor; nu înlocuiește alegerea proxy-ului sau a materialului de încredere potrivit.

La sfârșitul testelor, elimină suprascrierile de proiect adăugate și verifică iar valorile efective. Proiectul își poate moșteni configurația anterioară fără a schimba alte proiecte de pe aceeași mașină.

Articole similare