【发布时间】:2017-12-14 18:40:53
【问题描述】:
我刚刚升级到 npm@5。我现在有一个 package-lock.json 文件,其中包含 package.json 中的所有内容。我希望,当我运行npm install 时,将从锁定文件中提取依赖版本以确定应该在我的 node_modules 目录中安装什么。奇怪的是,它实际上最终修改并重写了我的 package-lock.json 文件。
例如,锁定文件的 typescript 指定为版本 2.1.6。然后,在npm install 命令之后,版本更改为2.4.1。这似乎违背了锁定文件的全部目的。
我错过了什么?如何让 npm 真正尊重我的锁定文件?
【问题讨论】:
-
这不能回答你的问题,所以希望评论是好的,但看看 Yarn。切换对我们来说用了不到一个小时。
-
同样的问题,但使用了纱线github.com/yarnpkg/yarn/issues/570(很有启发性)
-
我遇到了同样的问题。当我运行
npm install时,我的package-lock.json会重新生成。这闻起来像一个 npm 错误。您使用自己的注册表吗? -
@YvesM。
--no-save阻止更改锁定文件,但不影响 OP 提到的愚蠢的一级依赖升级。
标签: node.js npm npm-install package-lock.json