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

其他回答

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

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

版本镜头

GitLab报告

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

pnpm更新--最新

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

我使用npm检查来实现这一点。

npm i -g npm npm-check
npm-check -ug #to update globals
npm-check -u #to update locals

另一个有用的命令列表,它将在package.json中保留准确的版本号

npm cache clean
rm -rf node_modules/
npm i -g npm npm-check-updates
ncu -g #update globals
ncu -u #update locals
npm I

更新:您可以使用yarn升级交互式--如果您使用yarn,则为最新版本

用于更新NPM 3.10.10的package.json的命令:

npm install -g npm-check-updates
ncu -a
npm install

背景:

我使用的是@josh3736的最新命令,但我的package.json没有更新。然后,在运行npm检查更新-u时,我注意到了描述文本:

以下依赖性通过其声明的版本范围来满足,但安装的版本落后。您可以安装最新的版本,而无需使用npm更新来修改包文件。如果如果仍要更新包文件中的依赖项,请运行ncu-a。

阅读npm检查更新的文档,您可以看到不同之处:

https://www.npmjs.com/package/npm-check-updates

-u、 --升级:覆盖包文件-a、 --upgradeAll:甚至包括最新版本满足声明的semver依赖项的依赖项

ncu是npm check updates的别名,如键入npm check update-u时的消息所示:

[INFO]: You can also use ncu as an alias

在2023年,我简单地使用了:

$npm更新

许多软件包都在此时更新,但您可能会收到一条消息,其中一些需要修复。在这种情况下,我跑了:

$npm审计修复--强制

最后,为了确保它已全部安装,我运行

$npm安装

就是这样,我的包更新了。无需手动编辑配置文件。