npm install 是否总是获得最新的*兼容*版本的依赖项?

Does npm install always get the latest *compatible* version of a dependency?

看了documentation,我还是不太清楚

假设我指定

"dependencies": {"some_package": ^3.1.1}

在我的package.json中,最新兼容(即与上面声明的语义版本控制一致)的some_package版本实际上是3.4.9。如果我要 运行 npm install,会自动安装版本 3.4.9 吗?

您可以使用 the npm semver calculator 来确定要安装的版本。在显示输入范围的地方,输入 ^3.1.1。因为我不知道 some_package 是什么,所以我无法检查自己,但你可以。

要了解以插入符号 (^) 开头的范围,请阅读 the semver doc。 Caret 表示“安装不更改最左边非零数字的最新版本”。所以 ^3.1.1 的意思是“安装最新的 3.x 版本”。所以,是的,它将安装 3.4.9 或更高版本(如果可用)。