npm“通缉”vs“最新”
我使用npm
来安装一些命令行工具。 有痒始终是最新的,我发现命令npm -g outdated
。
wanted
和latest
的列有什么区别?
该文件指出:
由此产生的字段'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可能在此期间已经改变,或者作者可能已经推送了新的次版本。