0

我有几个依赖项,它们总是需要在最新的特定主要版本上。所以我将它们添加到 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 updatepackage.json文件更改为以下内容时:

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

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

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

我怎样才能做到这一点?

4

1 回答 1

0

这种行为的原因是.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",
    ...
于 2020-07-31T21:53:39.530 回答