npm ir atsevišķi iestatījumi proxy un https-proxy. Atšķirība ir pieprasījuma mērķis. Parastam HTTP starpniekserverim, kas tunelē HTTPS, abas vērtības var norādīt uz to pašu http:// galapunktu.

Projekta līmeņa .npmrc var saturēt:

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

Aizstājiet dokumentācijas galapunktu ar savu starpniekserveri; atļautiem publiska reģistra testiem HTTP starpniekserveru saraksts piedāvā HTTP kandidātus. Pēdējā rinda apzināti atstāj nosaukto iekšējo reģistru tiešā savienojumā. Tā nav cita starpniekservera adrese.

Lieciet npm veikt pieprasījumu

Instalācija no kešatmiņas ir vājš ceļa tests: npm var jau būt viss vajadzīgais. Reģistra ping ir mazāka pārbaude:

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

Veiksmīga pabeigšana rāda, ka šis npm izsaukums sasniedza attiecīgā reģistra ceļu. Tā nepierāda, ka katrs tarball resursdators, Git atkarība vai atsevišķs pakešu pārvaldnieka process izmanto to pašu ceļu.

Lai atrastu pretrunīgu iestatījumu, apskatiet spēkā esošās vērtības, nevis uzreiz labojiet vēl failus:

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

Komandas var izdrukāt piekļuves datus, ja tie ir iegulti URL. Apskatiet izvadi lokāli, nevis ielīmējiet to nemainītu problēmas ziņojumā.

Projekta .npmrc netiek izmantots globālām instalācijām. Ja neizdodas tikai npm install -g, pārbaudiet šī izsaukuma spēkā esošo konfigurāciju, nevis pieņemiet, ka tas lasīja projekta failu.

Pārbaudiet izņēmumus pirms IP maiņas

npm darbojas arī ar starpniekservera vides mainīgajiem, un noproxy var nākt no NO_PROXY. Mērķis, ko spēkā esošā konfigurācija izslēdz, var savienoties tieši, lai gan starpniekservera vērtība pastāv. Savukārt rindas dzēšana no viena .npmrc neizņem mantotu vides mainīgo.

Sertifikātu kļūdas nodaliet

Pilnvarots pārbaudes starpniekserveris var prasīt organizācijas CA, kam Node/npm vide vēl neuzticas. npm atbalsta CA failu:

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

Izmantojiet īsto šai videi apstiprināto komplektu. strict-ssl=false vājina sertifikātu pārbaudi; tas neaizstāj pareiza starpniekservera vai uzticamības materiāla izvēli.

Pēc testēšanas noņemiet pievienotos projekta pārrakstījumus un vēlreiz apskatiet spēkā esošās vērtības. Projekts tā manto iepriekšējo konfigurāciju, nemainot citus projektus tajā pašā datorā.

Saistītie raksti