npm ima odvojene postavke proxy i https-proxy. Razlika je u odredištu zahtjeva. Za obični HTTP proxy koji tunelira HTTPS obje vrijednosti mogu pokazivati na istu http:// krajnju tačku.

Projektni .npmrc može sadržavati:

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

Zamijenite dokumentacijsku krajnju tačku svojim proxyjem; za dozvoljene testove javnog registra lista HTTP proxyja pruža HTTP kandidate. Posljednja linija namjerno ostavlja navedeni interni registar direktnim. To nije druga proxy adresa.

Zatražite da npm pošalje zahtjev

Instalacija iz keša slab je test putanje: npm možda već ima sve što treba. Ping registra manja je provjera:

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

Uspješan završetak pokazuje da je ovo pokretanje npm-a doseglo putanju tog registra. Ne dokazuje da svaki tarball host, Git zavisnost ili zaseban proces upravitelja paketima koristi isti put.

Da biste našli suprotstavljenu postavku, pregledajte efektivne vrijednosti umjesto da odmah mijenjate još datoteka:

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

Te naredbe mogu ispisati pristupne podatke ako su ugrađeni u URL. Pregledajte izlaz lokalno umjesto da ga neizmijenjenog zalijepite u prijavu problema.

Projektni .npmrc ne koristi se za globalne instalacije. Ako samo npm install -g ne uspije, provjerite efektivnu konfiguraciju tog pokretanja umjesto pretpostavke da je pročitalo projektnu datoteku.

Provjerite izuzetke prije promjene IP-a

npm radi i s proxy varijablama okruženja, a njegova postavka noproxy može dolaziti iz NO_PROXY. Odredište izuzeto efektivnom konfiguracijom može se povezati direktno iako postoji proxy vrijednost. Obrnuto, brisanje linije iz jedne .npmrc datoteke ne uklanja naslijeđenu varijablu okruženja.

Odvojite greške certifikata

Ovlašteni proxy koji pregledava saobraćaj može tražiti organizacijski CA kojem vaša Node/npm postavka još ne vjeruje. npm podržava CA datoteku:

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

Koristite stvarni odobreni paket za to okruženje. Postavljanje strict-ssl=false slabi provjeru certifikata; nije zamjena za odabir ispravnog proxyja ili materijala povjerenja.

Kada testiranje završi, uklonite projektne izmjene koje ste dodali i ponovo pregledajte efektivne vrijednosti. Tako projekt nasljeđuje prethodnu konfiguraciju bez mijenjanja drugih projekata na istoj mašini.

Povezani članci