繁体   English   中英

npm 更新不安装最新的软件包版本?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM