node.js - node - Error SSL: CERT_UNTRUSTED mientras se usa el comando npm
npm windows (5)
Creo que tengo el motivo del error anterior. Es el proxy corporativo (red privada virtual) proporcionado para trabajar en la red del cliente. Sin esa conexión, con frecuencia me enfrentaba al mismo problema, ya sea maven build o npm install.
Estoy tratando de instalar Express Framework usando el comando npm pero obteniendo el siguiente error.
mensaje de error es
E:/myFindings/nodejs_programs/node>npm install -g express
npm http GET https://registry.npmjs.org/express
npm ERR! Error: SSL Error: CERT_UNTRUSTED
npm ERR! at ClientRequest.<anonymous> (C:/Program Files/nodejs/node_modules/npm/node_modules/request/main.js:409:26)
npm ERR! at ClientRequest.g (events.js:185:14)
npm ERR! at ClientRequest.EventEmitter.emit (events.js:88:17)
npm ERR! at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1445:7)
npm ERR! at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:111:23)
npm ERR! at CleartextStream.socketOnData [as ondata] (http.js:1356:20)
npm ERR! at CleartextStream.CryptoStream._push (tls.js:396:27)
npm ERR! at SecurePair.cycle (tls.js:751:20)
npm ERR! at EncryptedStream.CryptoStream.write (tls.js:131:13)
npm ERR! at Socket.ondata (stream.js:38:26)
npm ERR! [Error: SSL Error: CERT_UNTRUSTED]
npm ERR! You may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <[email protected]>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C://Program Files//nodejs////node.exe" "C://Program Files//nodejs//node_modules//npm//bin//npm-cli.js" "install" "-g" "express"
npm ERR! cwd E:/myFindings/nodejs_programs/node
npm ERR! node -v v0.8.0
npm ERR! npm -v 1.1.32
npm ERR! message SSL Error: CERT_UNTRUSTED
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! E:/myFindings/nodejs_programs/node/npm-debug.log
npm ERR! not ok code 0
ayúdame a resolver
Desde que tropecé con la publicación a través de google:
Intenta usar npm ci
, será mucho más que una npm install
.
Del manual:
En resumen, las principales diferencias entre usar npm install y npm ci son:
- El proyecto debe tener un paquete existente-lock.json o npm-shrinkwrap.json.
- Si las dependencias en el bloqueo del paquete no coinciden con las de package.json, npm ci saldrá con un error, en lugar de actualizar el bloqueo del paquete.
- npm ci solo puede instalar proyectos completos a la vez: no se pueden agregar dependencias individuales con este comando.
- Si un node_modules ya está presente, se eliminará automáticamente antes de que npm ci comience su instalación.
- Nunca se escribirá en package.json o en ninguno de los paquetes-bloqueos: las instalaciones están esencialmente congeladas.
Puede omitir https usando los comandos a continuación:
npm config set strict-ssl false
o configure la URL del registro desde https o http como a continuación:
npm config set registry="http://registry.npmjs.org/"
Sin embargo, personalmente creo que pasar por alto https no es la solución real, pero podemos usarlo como una solución alternativa.
Si está detrás de un proxy corporativo, pruebe esta configuración para npm con el proxy de su compañía:
npm --https-proxy=http://proxy.company.com install express -g
npm ERR! node -v v0.8.0
npm ERR! npm -v 1.1.32
Actualice su instalación de node.js. Los siguientes comandos deberían hacerlo (desde here ):
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Editar: de acuerdo, si realmente tiene una buena razón para ejecutar una versión antigua del software, npm set ca null
solucionará el problema. Sucedió porque el certificado npm incorporado ha expirado a lo largo de los años.