如何在不修改 package.json 的情况下执行 `npm update`?

How to do `npm update` without modifying package.json?

我有几个依赖项,它们总是需要在最新的特定主要版本上。所以我将它们添加到 package.json 依赖项列表中,如下所示:

{
...
  dependencies: {
    "A": "^12.0.0",
    "B": "^12.0.0",
    "C": "^12.0.0",
    ...

假设在 package-lock.json 中,包 B 的版本为 12.2.2。包 B 的新版本随版本 12.3.0 一起发布,其他包的更新不存在。

当我执行 npm update 时,package.json 文件更改为以下内容:

{
...
  dependencies: {
    "A": "^12.0.0",
    "B": "12.3.0",
    "C": "^12.0.0",
    ...

我不希望发生这种情况。我希望 package-lock.jsonnode_modules 得到更新,但 package.json 包 [=] 保持不变33=]B.

我尝试了 npm update --no-save,但那只会更新 node_modules 而不是 package-lock.json.

我怎样才能做到这一点?

此行为的原因是 .npmrc 配置文件位于我项目的根目录。

我将 .npmrc 文件更改为以下内容:

save-exact=false

save-exact=false 是默认配置。

现在有了修复,在我的示例中,package.json 文件在执行 npm update:

后应该如下所示
{
...
  dependencies: {
    "A": "^12.0.0",
    "B": "^12.3.0",
    "C": "^12.0.0",
    ...