Az npm külön proxy és https-proxy beállítással rendelkezik. A különbség a kért cél. Egy szokásos, HTTPS-alagutat létrehozó HTTP-proxynál mindkét érték ugyanarra az http:// végpontra mutathat.

Egy projektszintű .npmrc tartalma lehet:

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

Cseréld a dokumentációs végpontot a proxydra; engedélyezett nyilvános regisztertesztekhez a HTTP-proxyk listája ad HTTP-jelölteket. Az utolsó sor szándékosan közvetlenül hagyja a megnevezett belső regisztert. Nem egy másik proxycímet ad meg.

Kérd meg az npm-et egy kérésre

A cache-ből végzett telepítés gyenge útvonalteszt: az npm-nek már meg lehet minden szükséges. Egy regiszter-ping kisebb ellenőrzés:

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

A sikeres befejezés azt mutatja, hogy ez az npm-hívás elérte az adott regiszter útvonalát. Nem bizonyítja, hogy minden tarball-gép, Git-függőség vagy külön csomagkezelő folyamat ugyanazt az utat használja.

Ütköző beállítás keresésekor a tényleges értékeket vizsgáld, ne szerkessz azonnal további fájlokat:

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

A parancsok hitelesítő adatokat is kiírhatnak, ha azok URL-be vannak ágyazva. Helyben vizsgáld a kimenetet, ne illeszd változatlanul hibajegybe.

A projekt .npmrc fájlja nem használatos globális telepítéshez. Ha csak az npm install -g hibázik, az adott hívás tényleges konfigurációját nézd meg a projektfájl olvasásának feltételezése helyett.

IP-váltás előtt ellenőrizd a kivételeket

Az npm proxy-környezeti változókkal is működik, és az noproxy beállítása az NO_PROXY változóból jöhet. A tényleges konfiguráció által kizárt cél közvetlenül kapcsolódhat akkor is, ha van proxyérték. Fordítva, egy sor törlése egy .npmrc fájlból nem távolít el örökölt környezeti változót.

A tanúsítványhibákat kezeld külön

Egy engedélyezett ellenőrző proxy szervezeti CA-t igényelhet, amelyben a Node/npm-környezet még nem bízik. Az npm támogat CA-fájlt:

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

Az adott környezet valódi, jóváhagyott csomagját használd. Az strict-ssl=false gyengíti a tanúsítvány-ellenőrzést; nem helyettesíti a megfelelő proxy vagy bizalmi anyag kiválasztását.

A teszt végén távolítsd el a hozzáadott projektfelülírásokat, és nézd meg újra a tényleges értékeket. Így a projekt a korábbi konfigurációját örökli, ugyanazon gép más projektjeinek módosítása nélkül.

Kapcsolódó cikkek