我从另一个项目中复制了package.json,现在想将所有依赖项都升级到最新版本,因为这是一个新项目,如果出现问题,我不介意修复。

最简单的方法是什么?

我知道的最好的方法是运行npm info express版本,然后手动更新package.json中的每个依赖项。一定有更好的办法。

{
  "name": "myproject",
  "description": "my node project",
  "version": "1.0.0",
  "dependencies": {
    "express": "^3.0.3", // how do I get these bumped to latest?
    "mongodb": "^1.2.5",
    "underscore": "^1.4.2"
  }
}

有关纱线特定的解决方案,请参阅本堆栈溢出线程。


当前回答

这会很有帮助npm过时|awk‘{if(NR>1){print$1“@”$4}}‘|xargs npm i

其他回答

从npm 5.2.0版开始,有一种方法可以在一行中运行,而无需在全局npm注册表或本地应用程序中安装任何附加包。这可以通过利用与npm捆绑的新npx实用程序来实现。(单击此处了解更多信息。)

在项目的根目录中运行以下命令:

npx npm-check-updates -u && npm i

上述命令不安全,因为在切换版本时可能会损坏模块。相反,我建议如下

使用npm shrinkwrap命令将当前节点模块的实际版本设置为package.json。如果每个依赖项没有破坏您的测试,请使用https://github.com/bahmutov/next-update命令行工具

npm install -g next-update
// from your package
next-update

这会很有帮助npm过时|awk‘{if(NR>1){print$1“@”$4}}‘|xargs npm i

如果您碰巧使用Visual Studio代码作为IDE,那么这是一个有趣的小扩展,可以使package.json的更新成为一个一键过程。

注意:更新package.json文件中的包后,运行npm更新以安装新版本。

版本镜头

GitLab报告

我通过查看https://github.com/tjunnone/npm-check-updates

$ npm install -g npm-check-updates
$ ncu
$ ncu -u # to update all the dependencies to latest
$ ncu -u "specific module name"  #in case you want to update specific dependencies to latest