npm:n välityspalvelinasetukset HTTP:lle ja HTTPS:lle
Määritä npm:n HTTP- ja HTTPS-välityspalvelinreitit, ymmärrä noproxy-poikkeukset ja käytä yksityistä CA:ta poistamatta TLS-tarkistusta.
npm:llä on erilliset proxy- ja https-proxy-asetukset. Ero on pyydettävässä kohteessa. Tavallisella HTTPS:n tunneloivalla HTTP-välityspalvelimella molemmat arvot voivat osoittaa samaan http://-päätepisteeseen.
Projektitason .npmrc voi sisältää:
proxy=http://203.0.113.10:8080
https-proxy=http://203.0.113.10:8080
noproxy=localhost,127.0.0.1,registry.example.internal
Korvaa dokumentaation päätepiste omalla välityspalvelimellasi; sallittuihin julkisten rekisterien testeihin HTTP-välityspalvelinten luettelo tarjoaa HTTP-ehdokkaita. Viimeinen rivi jättää nimetyn sisäisen rekisterin tarkoituksella suoraan yhteyteen. Se ei ole toinen välityspalvelinosoite.
Pyydä npm:ää tekemään pyyntö
Välimuistiasennus on huono reititystesti: npm:llä voi jo olla kaikki tarvitsemansa. Rekisterin ping on pienempi tarkistus:
npm ping --registry=https://registry.npmjs.org/
Onnistunut valmistuminen osoittaa, että tämä npm-kutsu saavutti kyseisen rekisterin reitin. Se ei osoita jokaisen tarball-palvelimen, Git-riippuvuuden tai erillisen paketinhallintaprosessin käyttävän samaa polkua.
Etsi ristiriitainen asetus tutkimalla voimassa olevat arvot sen sijaan että muokkaisit heti lisää tiedostoja:
npm config get proxy
npm config get https-proxy
npm config get noproxy
Komennot voivat tulostaa tunnuksia, jos ne on upotettu URL-osoitteeseen. Tutki tuloste paikallisesti sen sijaan että liittäisit sen sellaisenaan vikailmoitukseen.
Projektin .npmrc ei ole käytössä globaaleissa asennuksissa. Jos vain npm install -g epäonnistuu, tarkista kyseisen kutsun voimassa oleva määritys äläkä oleta sen lukeneen projektitiedostoa.
Tarkista poikkeukset ennen IP:n vaihtamista
npm toimii myös välityspalvelimen ympäristömuuttujien kanssa, ja sen noproxy-asetus voi tulla muuttujasta NO_PROXY. Voimassa olevan määrityksen ohittama kohde voi yhdistää suoraan, vaikka välityspalvelinarvo olisi olemassa. Toisaalta rivin poistaminen yhdestä .npmrc-tiedostosta ei poista perittyä ympäristömuuttujaa.
Käsittele varmennevirheet erikseen
Valtuutettu tarkastava välityspalvelin voi edellyttää organisaation CA:ta, johon Node/npm-ympäristösi ei vielä luota. npm tukee CA-tiedostoa:
cafile=/path/to/approved-ca-bundle.pem
strict-ssl=true
Käytä kyseisen ympäristön oikeaa hyväksyttyä varmennenippua. strict-ssl=false heikentää varmenteiden tarkistusta; se ei korvaa oikean välityspalvelimen tai luottamusaineiston valintaa.
Poista testin jälkeen lisäämäsi projektiohitukset ja tarkista voimassa olevat arvot uudelleen. Projekti voi näin periä aiemman määrityksensä muuttamatta saman koneen muita projekteja.