npm-proxyinstellings vir HTTP en HTTPS
Stel npm se HTTP- en HTTPS-proxyroetes op, verstaan noproxy-uitsluitings en gebruik ’n private CA sonder om TLS-verifikasie af te skakel.
npm het afsonderlike proxy- en https-proxy-instellings. Die onderskeid is die bestemming wat aangevra word. Vir ’n gewone HTTP-proxy wat HTTPS tonnel, kan albei waardes na dieselfde http://-eindpunt wys.
’n Projekvlak-.npmrc kan die volgende bevat:
proxy=http://203.0.113.10:8080
https-proxy=http://203.0.113.10:8080
noproxy=localhost,127.0.0.1,registry.example.internal
Vervang die dokumentasie-eindpunt met jou proxy; vir toegelate openbare-registertoetse bied die HTTP-instaanbedienerlys HTTP-kandidate. Die laaste reël laat die genoemde interne register doelbewus direk verbind. Dit is nie nog ’n proxyadres nie.
Laat npm ’n versoek maak
’n Installasie uit die kas is ’n swak roetetoets: npm het dalk reeds alles wat nodig is. ’n Register-ping is ’n kleiner toets:
npm ping --registry=https://registry.npmjs.org/
Suksesvolle voltooiing wys dat hierdie npm-aanroep die roete na daardie register bereik het. Dit bewys nie dat elke tarball-gasheer, Git-afhanklikheid of afsonderlike pakketbestuurderproses dieselfde pad gebruik nie.
Om ’n botsende instelling te vind, ondersoek die effektiewe waardes voordat jy dadelik meer lêers verander:
npm config get proxy
npm config get https-proxy
npm config get noproxy
Dié opdragte kan geloofsbriewe druk as dit in ’n URL ingebed is. Ondersoek die uitvoer plaaslik eerder as om dit onveranderd in ’n foutverslag te plak.
’n Projek se .npmrc word nie vir globale installasies gebruik nie. As net npm install -g misluk, ondersoek daardie aanroep se effektiewe opstelling in plaas daarvan om te aanvaar dat dit die projeklêer gelees het.
Kontroleer uitsluitings voordat jy die IP verander
npm werk ook met proxyomgewingsveranderlikes, en sy noproxy-instelling kan van NO_PROXY kom. ’n Bestemming wat deur die effektiewe opstelling uitgesluit word, kan direk verbind al bestaan ’n proxywaarde. Omgekeerd verwyder die skrap van ’n reël uit een .npmrc nie ’n geërfde omgewingsveranderlike nie.
Hou sertifikaatfoute apart
’n Gemagtigde inspeksieproxy kan ’n organisasie-CA vereis wat jou Node/npm-opstelling nog nie vertrou nie. npm ondersteun ’n CA-lêer:
cafile=/path/to/approved-ca-bundle.pem
strict-ssl=true
Gebruik die werklike goedgekeurde bundel vir daardie omgewing. strict-ssl=false verswak sertifikaatverifikasie; dit vervang nie die keuse van die regte proxy of vertrouensmateriaal nie.
Verwyder ná die toets die projekoorheersings wat jy bygevoeg het en ondersoek weer die effektiewe waardes. Dit laat die projek sy vorige opstelling erf sonder om ander projekte op dieselfde masjien te verander.