node.js npm package-lock.json

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 .