npm tiene ajustes separados proxy y https-proxy. La diferencia es el destino solicitado. Para un proxy HTTP normal que crea túneles HTTPS, ambos valores pueden apuntar al mismo punto http://.

Un .npmrc del proyecto puede contener:

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

Sustituye el punto de documentación por tu proxy; para pruebas permitidas de registros públicos, la lista de proxies HTTP ofrece candidatos HTTP. La última línea deja expresamente el registro interno indicado en conexión directa. No es otra dirección proxy.

Pide a npm que haga una solicitud

Una instalación desde caché es una mala prueba de ruta: npm podría tener ya todo lo necesario. Un ping al registro es una comprobación más pequeña:

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

Que termine correctamente muestra que esta invocación de npm alcanzó la ruta de ese registro. No demuestra que cada host de tarballs, dependencia Git o proceso separado de gestor de paquetes use el mismo camino.

Para localizar un ajuste en conflicto, revisa los valores efectivos en vez de editar más archivos de inmediato:

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

Estos comandos pueden mostrar credenciales si están incrustadas en una URL. Examina la salida localmente en lugar de pegarla sin cambios en una incidencia.

El .npmrc del proyecto no se usa para instalaciones globales. Si solo falla npm install -g, revisa la configuración efectiva de esa invocación en vez de suponer que leyó el archivo del proyecto.

Revisa las exclusiones antes de cambiar la IP

npm también usa variables de entorno proxy, y su ajuste noproxy puede proceder de NO_PROXY. Un destino excluido por la configuración efectiva puede conectarse directamente aunque exista un valor proxy. A la inversa, borrar una línea de un .npmrc no elimina una variable de entorno heredada.

Trata los errores de certificado por separado

Un proxy de inspección autorizado puede requerir una CA de la organización en la que tu configuración Node/npm aún no confía. npm admite un archivo CA:

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

Usa el conjunto aprobado real para ese entorno. Establecer strict-ssl=false debilita la verificación de certificados; no sustituye la elección del proxy ni del material de confianza adecuados.

Al terminar las pruebas, elimina las sobreescrituras de proyecto que añadiste y vuelve a revisar los valores efectivos. Así el proyecto hereda su configuración anterior sin cambiar otros proyectos de la misma máquina.

Artículos relacionados