node.js - ¿Hay alguna manera de forzar a npm a generar package-lock.json?
(4)
Lo eliminé por accidente y he realizado muchos cambios en
package.json
desde entonces.
Una
npm install
o
npm update
ya no generan
package-lock.json
.
Intenté borrar mi caché npm y mi caché nvm, pero nada parece estar funcionando.
Lo probé en varias versiones de Node.js (6.10.3 Node.js - 3.10.10 npm es en lo que me gustaría que funcionara), y no funciona en ninguna.
¿Hay alguna manera de forzar a npm a generar el archivo
package-lock.json
?
En npm 6.x puedes usar
npm i --package-lock-only
De acuerdo con https://docs.npmjs.com/cli/install.html
El argumento --package-lock-only solo actualizará package-lock.json, en lugar de verificar node_modules y descargar dependencias.
Esto se responde en los comentarios;
package-lock.json
es una característica en
npm
v5 y superior.
npm shrinkwrap
es cómo se crea un archivo de bloqueo en todas las versiones de
npm
.
Por defecto,
package-lock.json
se actualiza cada vez que ejecuta
npm install
.
Sin embargo, esto se puede deshabilitar globalmente configurando
package-lock=false
en
~/.npmrc
.
Cuando la configuración global
package-lock=false
está activa, aún puede forzar la
package-lock.json
archivo
package-lock.json
un proyecto ejecutando:
npm install --package-lock
Este comando es la única forma segura de forzar una actualización de
package-lock.json
.
package-lock.json se vuelve a generar cada vez que ejecuta
npm i
.