2015-11-05 672 views
0

我一直在努力找到一种更新所有npm包的方法,一些文章建议在需要将所有版本号更改为*的情况下编辑package.json文件,因此迫使节点抓取最新版本,但其他声明这种方法不被认为是好的。理想情况下,我想为此找到一个命令行选项。如何一次更新所有npm包/模块?

+0

'npm过时'可能会帮助你 –

+0

@ExplosionPills不会返回任何东西,只是提示输入命令,它是否在后台执行某些操作? – Ilja

回答

2

npm outdated是您想运行以查找所有不是最新软件包的命令。您可以将npm output -json的输出传输到一个文件中,然后遍历JSON以安装最新版本的包。

0

对于单个模块,你可以试试npm install --save [email protected]这也会改变package.json。您可以在nodejs中编写shell脚本或脚本来遍历package.json并更新所有模块。

2

你可以试试这些单行游戏。

更新所有依赖:

$ npm out --long --parseable |grep 'dependencies$' |cut -d: -f4 |xargs npm install --save 

更新所有devDependencies:

$ npm out --long --parseable |grep 'devDependencies$' |cut -d: -f4 |xargs npm install --save-dev 

但请记住,这不是通常你可能需要改变的东西在升级的过程中是一个好主意一套。如果你的项目有很多依赖关系,最好逐个更新它们或者小组更新,并频繁地运行测试。

0

一个简单的步骤:

$ NPM我-g NPM-签更新& & NCU -a & & NPM我

这将设置你所有的包在package.json到最新版本。