我正在努力寻找一种方法来一次性更新所有的npm包,一些文章建议应该编辑package.json文件,其中所有的版本号需要更改为*,从而迫使节点获取最新版本,但其他人认为这种方法不太好。理想情况下,我想找到一个命令行选项来实现这一点。
*
vcirk6k61#
npm outdated是用来查找所有不是最新的软件包的命令。您可以将npm output -json的输出通过管道传输到一个文件中,然后遍历JSON以安装最新版本的软件包。
npm outdated
npm output -json
dced5bon2#
一个简单的步骤:
$ npm i -g npm-check-updates && ncu -u && npm i
这将安装ncu,使用它将package.json中的所有软件包设置为最新版本,最后应用更新。
package.json
r6hnlfcb3#
您可以尝试这些一行程序。更新所有依赖项:
$ npm out --long --parseable |grep 'dependencies$' |cut -d: -f4 |xargs npm install --save
更新所有设备依赖项:
$ npm out --long --parseable |grep 'devDependencies$' |cut -d: -f4 |xargs npm install --save-dev
请记住,这通常不是一个好主意,因为在升级包的过程中,您可能必须更改某些内容。如果您的项目有许多依赖项,最好逐个更新或以小组为单位更新,并经常运行测试。
0mkxixxg4#
对于单个模块,你可以尝试npm install --save module@latest,这也会改变package.json,你可以写一个shell脚本或者在nodejs中写一个脚本来迭代package.json并更新所有的模块。
npm install --save module@latest
dojqjjoe5#
可以使用npm update执行所有模块的递归更新:
npm update
npm update --depth 9999 --dev
npm update --depth 9999 --dev -g
一个随时可用的NPM脚本,用于更新所有Node.js模块及其所有依赖项:How to update all Node.js modules automatically?
5条答案
按热度按时间vcirk6k61#
npm outdated
是用来查找所有不是最新的软件包的命令。您可以将npm output -json
的输出通过管道传输到一个文件中,然后遍历JSON以安装最新版本的软件包。dced5bon2#
一个简单的步骤:
这将安装ncu,使用它将
package.json
中的所有软件包设置为最新版本,最后应用更新。r6hnlfcb3#
您可以尝试这些一行程序。
更新所有依赖项:
更新所有设备依赖项:
请记住,这通常不是一个好主意,因为在升级包的过程中,您可能必须更改某些内容。如果您的项目有许多依赖项,最好逐个更新或以小组为单位更新,并经常运行测试。
0mkxixxg4#
对于单个模块,你可以尝试
npm install --save module@latest
,这也会改变package.json,你可以写一个shell脚本或者在nodejs中写一个脚本来迭代package.json并更新所有的模块。dojqjjoe5#
可以使用
npm update
执行所有模块的递归更新:npm update --depth 9999 --dev
npm update --depth 9999 --dev -g
一个随时可用的NPM脚本,用于更新所有Node.js模块及其所有依赖项:
How to update all Node.js modules automatically?