如何一次更新所有npm软件包/模块?

问题描述 投票:2回答:5

我很难找到一种方法来一次更新所有npm软件包,有些文章建议应该编辑package.json文件,其中所有版本号都需要更改为*,因此强制节点获取最新版本,但其他人声明这种方法不算好。理想情况下,我想为此找到命令行选项。

node.js command-line module npm packages
5个回答
2
投票

npm outdated是您要运行的命令,用于查找所有不是最新的软件包。您可以将npm output -json的输出传输到一个文件中,然后迭代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

请记住,这通常不是一个好主意,因为您可能需要在升级包的过程中更改某些内容。如果您的项目有很多依赖项,最好逐个或小组更新它们并经常运行测试。


1
投票

一个简单的步骤:

$ npm和-g npm-check-updates && ncu -a && npm i

这会将package.json中的所有包设置为最新版本。


0
投票

对于单个模块,您可以尝试npm install --save module@latest这也将改变package.json。您可以在nodejs中编写shell脚本或脚本来迭代package.json并更新所有模块。


0
投票

可以使用npm update执行所有模块的递归更新:

  • 本地安装的模块:npm update --depth 9999 --dev
  • 全球安装的模块:npm update --depth 9999 --dev -g

一个随时可用的NPM脚本,用于更新所有Node.js模块及其所有依赖项: How to update all Node.js modules automatically?

© www.soinside.com 2019 - 2024. All rights reserved.