[英]package-lock.json not updated after removing a package from package.json?
If i manually add a package to package.json
and then run npm install
, my package-lock.json
gets updated with that new package's dependencies.
However, if i then manually delete that package from package.json
from npm install
, that package's dependencies are not removed from package-lock.json
.
所以 - package-lock.json
只有在package.json
中添加/更新包时才会被修改? 卸的时候不行吗?
这是 npm 的一个已知问题。
请参阅问题:更改 package.json 文件后未更新 package-lock.json 文件
" 现在我正在通过将我的 npm install 命令更改为 rm -f package-lock.json && npm install 来解决这个问题。显然,这不是一个优雅的解决方案,并且在某种程度上违背了首先拥有锁定文件的目的。 ”
rm -f package-lock.json && npm install
这应该在: https : //github.com/npm/npm/pull/17508 中修复
请参阅文章: https : //medium.com/coinmonks/everything-you-wanted-to-know-about-package-lock-json-b81911aa8ab8以获得更好的理解。
package-lock.json 设置了你当前安装的每个包的版本,当运行 npm install 时,npm 将使用这些确切的版本。
NPM 默认会读取 package-lock.json 文件。
因此,在第一种情况下,npm 正在从 package.json 读取包条目,因为这是唯一包含特定包条目的文件。 而在第二种情况下,它从 package-lock.json 中读取它,这是它的默认行为
仅在锁定文件损坏的情况下才应删除 package-lock.json。 要删除 package 您应该只使用 npm cli(它将更新锁定文件)
npm uninstall <package>
这是一个很好的解释。 https://stackoverflow.com/a/54127283/5040275
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.