在 package.json 和 package-lock.json 中更新版本号而不更新依赖

Posted

技术标签:

【中文标题】在 package.json 和 package-lock.json 中更新版本号而不更新依赖【英文标题】:Update version number In package.json and package-lock.json without updating dependencies 【发布时间】:2019-06-04 11:52:59 【问题描述】:

TL;DR如何在不更新依赖项的情况下更新 package.json 和 package-lock.json 版本号?

我们有一个问题,我们想在开发之后和部署之前提高我们的版本号。

但是,如果我在 package.json 中升级版本然后 npm install 它可能会更改依赖项的版本,这可能会导致生产运行时使用的依赖项与开发人员测试其代码时使用的依赖项不同。

我们在 ci 系统中使用 npm ci,我的理解是它会建立在 package-lock.json 文件的基础上。如果我们的 package-lock.json 有一个以前构建的版本,那么问题就出现了,ci 系统将只使用它以前构建的版本。我无法更新我们的 ci 系统。

我可以手动更新 package-lock.json 中的版本,但感觉不对。有针对这种情况的最佳做法吗?

【问题讨论】:

【参考方案1】:

这个问题已经快一年了,但是

npm install --package-lock-only

应该可以解决问题。

--package-lock-only 参数只会更新 package-lock.json,而不是检查 node_modules 和下载依赖项。

https://docs.npmjs.com/cli/install

它隐藏在文档页面底部附近。

【讨论】:

以上是关于在 package.json 和 package-lock.json 中更新版本号而不更新依赖的主要内容,如果未能解决你的问题,请参考以下文章

package-lock.json 和 package.json 有啥区别,啥时候生成 package.json?

package.json和package-lock.json啥关系?你知道吗?

检查 NPM package.json 和 package-lock.json 是不是兼容

关于 package.json 和 package-lock.json 文件说明

相当于 `pip` 的 `package.json' 和 `package-lock.json`

Node 应用中 package.json 与 package-lock.json 的信息和变更管理