npm turi atskiras nuostatas proxy ir https-proxy. Skirtumas yra užklausos tikslas. Įprastam HTTP tarpiniam serveriui, kuris tuneliuoja HTTPS, abi reikšmės gali rodyti tą patį http:// galinį tašką.

Projekto lygio .npmrc gali turėti:

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

Pakeiskite dokumentacijos tašką savo tarpiniu serveriu; leidžiamiems viešo registro bandymams HTTP tarpinių serverių sąrašas pateikia HTTP kandidatus. Paskutinė eilutė sąmoningai palieka nurodytą vidinį registrą tiesioginį. Tai ne kitas tarpinio serverio adresas.

Paprašykite npm atlikti užklausą

Diegimas iš podėlio yra prastas maršruto bandymas: npm jau gali turėti viską, ko reikia. Registro ping yra mažesnė patikra:

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

Sėkminga pabaiga rodo, kad šis npm kvietimas pasiekė to registro maršrutą. Ji neįrodo, kad kiekvienas tarball serveris, Git priklausomybė ar atskiras paketų tvarkyklės procesas naudoja tą patį kelią.

Ieškodami prieštaraujančios nuostatos, tikrinkite veikiančias reikšmes, o ne iškart redaguokite daugiau failų:

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

Komandos gali išvesti prisijungimo duomenis, jei jie įterpti į URL. Išvestį tikrinkite vietoje, neįklijuokite jos nepakeistos į problemos pranešimą.

Projekto .npmrc nenaudojamas globaliems diegimams. Jei nepavyksta tik npm install -g, tikrinkite to kvietimo veikiančią konfigūraciją, ne manykite, kad jis perskaitė projekto failą.

Prieš keisdami IP patikrinkite išimtis

npm veikia ir su tarpinio serverio aplinkos kintamaisiais, o noproxy gali ateiti iš NO_PROXY. Veikiančios konfigūracijos išskirtas tikslas gali jungtis tiesiogiai, net jei tarpinio serverio reikšmė yra. Ir atvirkščiai, eilutės ištrynimas iš vieno .npmrc nepašalina paveldėto aplinkos kintamojo.

Sertifikatų klaidas nagrinėkite atskirai

Įgaliotas tikrinantis tarpinis serveris gali reikalauti organizacijos CA, kuriuo Node/npm sąranka dar nepasitiki. npm palaiko CA failą:

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

Naudokite tikrą tai aplinkai patvirtintą rinkinį. strict-ssl=false silpnina sertifikatų tikrinimą; tai nepakeičia tinkamo tarpinio serverio ar pasitikėjimo medžiagos pasirinkimo.

Baigę bandymus pašalinkite pridėtus projekto perrašymus ir dar kartą peržiūrėkite veikiančias reikšmes. Taip projektas paveldi ankstesnę konfigūraciją nekeisdamas kitų projektų tame pačiame kompiuteryje.

Susiję straipsniai