npm ima ločeni nastavitvi proxy in https-proxy. Razlika je cilj zahteve. Pri običajnem proxyju HTTP, ki tunelira HTTPS, lahko obe vrednosti kažeta na isto točko http://.

Projektni .npmrc lahko vsebuje:

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

Dokumentacijsko točko zamenjajte s svojim proxyjem; za dovoljene preizkuse javnega registra seznam proxyjev HTTP ponuja kandidate HTTP. Zadnja vrstica namenoma pusti navedeni interni register neposreden. To ni drug naslov proxyja.

Naj npm izvede zahtevo

Namestitev iz predpomnilnika je slab preizkus poti: npm morda že ima vse potrebno. Ping registra je manjše preverjanje:

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

Uspešen zaključek pokaže, da je ta klic npm dosegel pot do tega registra. Ne dokazuje, da vsak gostitelj arhiva tarball, odvisnost Git ali ločen proces upravljavca paketov uporablja isto pot.

Za iskanje nasprotujoče nastavitve preglejte veljavne vrednosti, namesto da takoj urejate še več datotek:

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

Ti ukazi lahko izpišejo poverilnice, če so vdelane v URL. Izhod preglejte lokalno, ne lepite ga nespremenjenega v prijavo težave.

Projektni .npmrc se ne uporablja za globalne namestitve. Če odpove le npm install -g, preverite veljavno konfiguracijo tega klica, ne predpostavljajte branja projektne datoteke.

Pred spremembo IP preverite izjeme

npm uporablja tudi okoljske spremenljivke proxyja, nastavitev noproxy pa lahko prihaja iz NO_PROXY. Cilj, ki ga veljavna konfiguracija izvzame, se lahko poveže neposredno, čeprav vrednost proxyja obstaja. Nasprotno, brisanje vrstice iz ene .npmrc ne odstrani podedovane okoljske spremenljivke.

Napake potrdil obravnavajte ločeno

Pooblaščeni pregledovalni proxy lahko zahteva CA organizacije, ki mu vaše okolje Node/npm še ne zaupa. npm podpira datoteko CA:

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

Uporabite dejanski odobreni sveženj za to okolje. Nastavitev strict-ssl=false oslabi preverjanje potrdil; ne nadomesti izbire pravega proxyja ali gradiva zaupanja.

Po preizkusu odstranite dodane projektne preglasitve in znova preglejte veljavne vrednosti. Projekt tako podeduje prejšnjo konfiguracijo brez spreminjanja drugih projektov na istem računalniku.

Sorodni članki