npm`要求`vs"最新"

Nat*_*n H 43 node.js npm

npm用来安装一些命令行工具.让itch永远是最新的,我找到了命令npm -g outdated.

是什么列之间的差异wantedlatest

文件说明:

结果字段'want'显示最新版本,根据package.json中指定的版本,字段'latest'是最新版本的软件包.

但是我一点都不清楚.例如,在我的系统上,我得到:

Package  Current  Wanted  Latest  Location
cordova    5.3.1   5.3.3   5.3.1  lib
npm        3.3.4   3.3.4   3.3.3  lib
Run Code Online (Sandbox Code Playgroud)

怎么可能wanted高于latest?这似乎与之相矛盾:

该领域的"最新"包的最新版本

我应该更新到哪个版本(我只使用命令行,而不是任何node.js代码)?

elo*_*esp 20

wanted字段在--global运行的上下文中没有任何意义,因为没有package.json定义您需要的版本.

我应该更新到哪个版本(我只使用命令行,而不是任何node.js代码)?

如果您喜欢生活在最佳状态,最新版本似乎是一个不错的选择.

通缉柱似乎是一个错误,它在github上报道很多 .

更新(检查源后)

文件似乎有点误导,所以我们澄清一下:

结果字段'want'显示最新版本,根据package.json中指定的版本...

由于没有全局package.json,所使用的版本约束是'*'(在此处设置).

然后想要的版本是根据semver的包的最新版本.

该领域的"最新"包的最新版本.

这不是真的,你得到的是dist-tag "latest",通常与最新版本匹配(见这里).有些软件包使用这些标签来管理显示的内容(如npm).

我应该更新到哪个版本(我只使用命令行,而不是任何node.js代码)?

似乎边缘是通缉的.


lor*_*non 2

更新:

在我的机器上当前npm -g outdated显示:

Package         Current  Wanted  Latest  Location
babel-cli        6.1.18   6.2.0   6.2.0
generator-rise    1.7.0   2.1.0   2.1.0
npm               3.3.6   3.5.0   3.4.1
Run Code Online (Sandbox Code Playgroud)

该版本3.5.0作为 github 上的发行版存在,但尚未发布到 npm。所以它以某种方式从那里得到,但掩盖了 npm 来源,我找不到任何证据来支持这个论点。


来自官方文档

结果字段“wanted”根据 package.json 中指定的版本显示最新版本,字段“latest”是包的最新版本。

详细说明:

npm允许您在 package.json 中指定一系列版本,示例可在此处获取。指定范围内可以容纳的最大版本是wanted列。

这可能与安装的版本不同(如果有的话),因为 package.json 可能同时发生了更改,或者作者可能在其间推送了新的次要版本。

  • 但是没有 `package.json` 因为它是使用 --global 运行的 (6认同)