npm ten axustes separados proxy e https-proxy. A diferenza é o destino solicitado. Nun proxy HTTP normal que crea túneles HTTPS, ambos valores poden apuntar ao mesmo punto http://.

Un .npmrc de proxecto pode conter:

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

Substitúe o punto de documentación polo teu proxy; para probas permitidas de rexistros públicos, a lista de proxys HTTP ofrece candidatos HTTP. A última liña deixa expresamente o rexistro interno indicado en conexión directa. Non é outro enderezo proxy.

Pídelle a npm que faga unha petición

Unha instalación desde a caché é unha mala proba de ruta: npm pode ter xa todo o necesario. Un ping ao rexistro é unha comprobación máis pequena:

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

Rematar correctamente amosa que esta invocación de npm alcanzou a ruta dese rexistro. Non demostra que cada host de tarballs, dependencia Git ou proceso separado de xestor de paquetes use o mesmo camiño.

Para localizar un axuste en conflito, revisa os valores efectivos en vez de editar máis ficheiros de inmediato:

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

Estas ordes poden amosar credenciais se están incluídas nun URL. Examina a saída localmente no canto de pegala sen cambios nunha incidencia.

O .npmrc do proxecto non se usa para instalacións globais. Se só falla npm install -g, revisa a configuración efectiva desa invocación en vez de supoñer que leu o ficheiro do proxecto.

Revisa as exclusións antes de cambiar a IP

npm tamén usa variables de contorno proxy, e o axuste noproxy pode proceder de NO_PROXY. Un destino excluído pola configuración efectiva pode conectarse directamente aínda que exista un valor proxy. Á inversa, borrar unha liña dun .npmrc non elimina unha variable de contorno herdada.

Trata os erros de certificado por separado

Un proxy de inspección autorizado pode requirir unha CA da organización na que a configuración Node/npm aínda non confía. npm admite un ficheiro CA:

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

Usa o conxunto aprobado real para ese contorno. Establecer strict-ssl=false debilita a verificación de certificados; non substitúe a escolla do proxy nin do material de confianza adecuados.

Ao rematar as probas, elimina as sobreescrituras de proxecto que engadiches e volve revisar os valores efectivos. Así o proxecto herda a configuración anterior sen cambiar outros proxectos da mesma máquina.

Artigos relacionados