如何快速检查package.json文件是否包含可以更新到较新版本的模块?
例如,快速检查express或nodemailer是否有可用的更新?
{
"name": "some_module_name"
, "description": ""
, "version": "0.0.3"
, "dependencies": {
"express": "3.1"
, "nodemailer" : "0.4.0"
}
}
我阅读了常见问题解答,但没有看到任何内容: https://npmjs.org/doc/faq.html
感谢。
答案 0 :(得分:19)
是的,有一个选项:
npm outdated
这将列出具有可用更新的模块。它支持指定模块名称的语法。
根据Documentation,语法为
npm outdated [<name> [<name> ...]]
这使您可以指定要专门检查的模块名称,例如
$ npm outdated mongoose
要正确使用此功能,您必须添加范围为greater than
或greater than or equal
的目标模块的版本号。您可以检查node-semver,{{3}}已集成到npm
中以检查语法。
{
"dependencies": {
"express": "3.2.0",
"mongoose": ">= 3.5.6",
},
}
将给出以下结果(因为今天最新的猫鼬版本是3.6.9)
$ npm outdated
...
mongoose@3.6.9 node_modules/mongoose current=3.6.7
$
如果你放置
{
"dependencies": {
"express": ">= 3.2.0",
"mongoose": ">= 3.5.6",
},
}
结果将是:
$ npm outdated
...
mongoose@3.6.9 node_modules/mongoose current=3.6.7
express@3.2.3 node_modules/express current=3.2.0
$
答案 1 :(得分:3)
像travis这样的服务会自动检查它:
答案 2 :(得分:2)
您需要使用更新命令手动执行此操作:
$ npm update
您也可以更改版本:
"nodemailer": "*" // this would use the newest version
或
"nodemailer": ">=0.4.0" // this will install any version which is at least 0.4.0
依旧......
在此处详细了解:https://npmjs.org/doc/json.html#dependencies
编辑:如果模块可以通过github获得,则有可能。然后,您可以“观察”该回购,并获得通知更新!
答案 3 :(得分:2)
您可能需要查看https://david-dm.org/,因为它是执行检查的免费服务。这是为您的自述文件添加构建徽章的更多目标,但它在页面上提供的详细信息非常有用。
请参阅https://david-dm.org/jshint/jshint作为示例输出。
答案 4 :(得分:0)
我发现的最佳方法是使用:npm-check安装npm / yarn,然后以交互方式更新过时的软件包:npm -check -u