npm“通缉”vs“最新”

我使用npm来安装一些命令行工具。 有痒始终是最新的,我发现命令npm -g outdated

wantedlatest的列有什么区别?

该文件指出:

由此产生的字段'wanted'根据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 

怎么可能比latest更高? 这似乎是相矛盾的:

该领域的最新版本的包

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

wanted字段在全局运行的上下文中是没有意义的,因为没有package.json来定义你需要的版本。

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

如果你喜欢住在边缘,最新的版本似乎是一个不错的select。

想要的列看起来像一个bug,它在github 多次报告。

更新(检查源代码后)

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

生成的字段'wanted'根据package.json中指定的版本显示最新版本。

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

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

该领域的最新版本的包。

这不是真的,你得到的是“最新”的dist标签 ,通常匹配最新版本(见这里 )。 有一些软件包使用这些标签来pipe理显示的内容(如npm)。

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

看来,边缘是想要的

更新:

在我的机器上目前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 

版本3.5.0在github上作为发行版存在,但尚未发布到npm。 所以它从某种程度上被拿起来,但是在npm源头上我没有find任何证据支持这个论点。


从官方文档 :

由此产生的字段'wanted'根据package.json中指定的版本显示最新版本,'latest'是最新版本的包。

详细说明:

npm允许你在你的package.json中指定一个版本的范围,例子可以在这里find 。 在指定的范围内可以容纳的最大版本是wanted列。

这可能与所安装的版本(如果有的话)不同,因为package.json可能在此期间已经改变,或者作者可能已经推送了新的次版本。