我从另一个项目中复制了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检查。

它不是一个锤子,给了你更多关于依赖关系更新的知识和控制。

为了让你尝一尝等待的滋味,这里有一张截图(从git页面中截取,用于npm检查):

其他回答

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

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

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

我觉得90%的答案都是“使用npm检查更新”的变体。以下是我所做的(相关代码):

{
  "devDependencies": {
    "updates": "^13.0.5" // the version here could be "latest" or "*" tbh...
  },
  "scripts": {
    "test:dependencies": "updates --update ./",
  }
}

运行npm运行测试:dependencies(或调用依赖项更新脚本)将检查package.json中列出的每个包的最新版本,并让您知道最新版本的发布时间。在那之后运行npm i,您将获得最新信息!

此外,与npm检查更新不同,更新具有零依赖性(在本文发布时,ncu有29个)。

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

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

版本镜头

GitLab报告

目前最简单的方法是使用pnpm而不是npm,只需键入:

pnpm更新--最新

https://github.com/pnpm/pnpm/releases/tag/v3.2.0

要查看哪些软件包具有可用的更新版本,请使用以下命令:

npm outdated

要只更新一个依赖项,只需使用以下命令:

npm install yourPackage@latest

例如:

我的package.json文件具有依赖关系:

"@progress/kendo-angular-dateinputs": "^1.3.1",

那么我应该写:

npm install @progress/kendo-angular-dateinputs@latest

save dev是什么意思?

npm install @progress/kendo-angular-dateinputs@latest --save-dev

正如npm安装文档所说:

-D、 --save dev:Package将显示在devDependencies中。