我使用npm
安装一些命令行工具。让itch始终保持最新状态,我找到了命令npm -g outdated
。
列wanted
和latest
之间有什么区别?
文档说明:
由此产生的字段'想要'显示最新版本 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
wanted
如何高于latest
?这似乎与之相矛盾:
该领域'最新'包的最新版本
我应该更新哪个版本(我只使用命令行,而不是任何node.js代码)?
答案 0 :(得分:18)
{ - 1}}字段在--global运行的上下文中没有任何意义,因为没有wanted
来定义您需要的版本。
我应该更新哪个版本(我只使用命令行,而不是任何node.js代码)?
如果您喜欢生活在最佳状态,最新版本似乎是一个不错的选择。
想要的列似乎是一个错误,它在github many times中报告。
这些文件似乎有点误导,所以我们澄清一下:
结果字段“想要”根据package.json ...
中指定的版本显示最新版本
由于没有全局package.json,所使用的版本约束是'*'(设置here)。
然后,根据semver,所需版本是该软件包的最新版本。
该字段'最新'该软件包的最新版本。
这不是真的,你得到的是dist-tag“最新”,它通常与最新版本相匹配(见here)。有些软件包使用这些标签来管理显示的内容(如npm)。
我应该更新哪个版本(我只使用命令行,而不是任何node.js代码)?
似乎边缘想要。
答案 1 :(得分:1)
<强>更新强>
目前我的机器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来源的掩饰我找不到任何支持这个论点的证据。
结果字段“想要”显示最新版本 在package.json中指定的版本,字段'latest'非常 最新版本的包。
详细说明:
npm
允许您在package.json中指定一系列版本,示例可用here。指定范围内可容纳的最大版本为wanted
列。
这可能与安装的版本(如果有的话)不同,因为package.json可能同时发生了变化,或者作者可能在其间推送了新的次要版本。
答案 2 :(得分:0)
考虑您的示例,cordova @ 5.3.3被标记为“需要”,而“最新”则被标记为cordova@5.3.1,因为npm使用dist标签来管理其最新和下一个发行渠道。
npm update
将安装最新版本,而npm install cordova
(无存储范围)将安装标记为最新的版本。