![](/img/trans.png)
[英]npm install the exact package version specified in package.json
[英]Npm update dont install the last package version?
当我安装
npm i nodemon
我当然总是得到最后一个版本,在这种情况下是:2.0.2,
但是如果我安装一些旧版本,例如 npm i nodemon@1.18.11 之后我尝试 npm update 我得到 1.19.4 版本但不是最后一个 2.0.2
就像我使用 npm install nodemon 一样。
为什么 npm update 在这种情况下没有更新到 2.0.2 ?
这取决于npm
的版本,但如果npm update
破坏了一个或多个依赖项,则不会获得更新的主要版本的包。 事实上,您一直停留在 1.x 版上。 您可以轻松地使用npm i foo
来获取最新版本而不是警告。 有关更多详细信息,请参阅https://docs.npmjs.com/cli-commands/update.html ,具体取决于您使用的npm
版本(以及如何获取以前的行为)。
这取决于 nodemon 的 package.json 条目。
例如,如果模块具有以下依赖项:
{
"dist-tags": { "latest": "1.2.2" },
"versions": [
"1.2.2",
"1.2.1",
"1.2.0",
"1.1.2",
"1.1.1",
"1.0.0",
"0.4.1",
"0.4.0",
"0.2.0"
]
}
并且您在 package.json 文件中指定了 '^':
"dependencies": {
"module": "^1.1.1" //npm update will install module@1.2.2, because 1.2.2 is latest and 1.2.2 satisfies ^1.1.1
}
或者,如果您的版本是使用“~”指定的,则如下:
"dependencies": {
"module": "~1.1.1" // npm update will install dep1@1.1.2. Even though the latest tag points to 1.2.2, this version does not satisfy ~1.1.1, which is equivalent to >=1.1.1 <1.2.0. So the highest-sorting version that satisfies ~1.1.1 is used, which is 1.1.2
}
如需更多了解,您可以遵循此文档: https : //docs.npmjs.com/cli-commands/update.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.