Angular - 包版本错误?

Angular - Wrong package versions?

我有一个 angular 应用程序。 在 package.json 中,我为所有 angular 包定义了版本 12.2.9,例如:

"@angular/animations": "^12.2.9",
"@angular/cdk": "^12.2.9",
"@angular/common": "^12.2.9",
"@angular/compiler": "^12.2.9",
"@angular/core": "^12.2.9",
...

我删除了 node_modules 文件夹和 'package-lock.json`

我用 npm install

安装了所有软件包

之后,调用 npm outdated,我所有 angular 包的当前版本是 12.2.13 而不是 12.2.9

在哪里定义,安装的是 12.2.13 版本而不是 package.json 中的版本?

package-lock.json 中,node_modules 中有关于您安装的软件包的所有信息。例如,如果你去那里并在文件中搜索 @angular/animations,你将看到你的版本。

解决方案是删除 node_modulespackage-lock.json 并通过 运行 npm cache clean --force.

清除缓存

更新:


如评论中Harun Yilmaz所述:

There are carets (^) in the versions. So, deleting package-lock.json and node_modules and running npm install will still install the latest compatible version.

您可以在 this answer by jgillich.

中了解 ^~ 在 npm 包管理中的具体作用