当前位置: 首页 > 面试题库 >

如何将package.json中的每个依赖关系更新为最新版本?

朱兴运
2023-03-14
问题内容

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

最简单的方法是什么?

我现在知道的最好的方法是npm info express version手动运行每个包,然后手动更新package.json。肯定有更好的办法。

{
  "name": "myproject",
  "description": "my node project",
  "version": "1.0.0",
  "engines": {
    "node": "0.8.4",
    "npm": "1.1.65"
  },
  "private": true,
  "dependencies": {
    "express": "~3.0.3", // how do I get these bumped to latest?
    "mongodb": "~1.2.5",
    "underscore": "~1.4.2",
    "rjs": "~2.9.0",
    "jade": "~0.27.2",
    "async": "~0.1.22"
  }
}

19年5月1日更新 :六年后,我仍在维护npm-check-updates作为该问题的综合解决方案。请享用!


问题答案:

看起来npm-check-updates是现在做到这一点的唯一方法。

npm i -g npm-check-updates
ncu -u
npm install

在npm <3.11上:

只需将每个依赖项的版本更改为*,然后运行即可npm update --save。( 注意:
在最新(3.11)版本的npm中已损坏)。

之前:

  "dependencies": {
    "express": "*",
    "mongodb": "*",
    "underscore": "*",
    "rjs": "*",
    "jade": "*",
    "async": "*"
  }

后:

  "dependencies": {
    "express": "~3.2.0",
    "mongodb": "~1.2.14",
    "underscore": "~1.4.4",
    "rjs": "~2.10.0",
    "jade": "~0.29.0",
    "async": "~0.2.7"
  }

当然,这是更新依赖项的钝器。如您所说,如果项目为空且没有任何中断,那就很好。

另一方面,如果您在一个更成熟的项目中工作,则可能要在升级之前验证依赖项中是否没有重大更改。

要查看哪些模块已过时,只需运行npm outdated。它将列出具有较新版本的所有已安装依赖项。



 类似资料:
  • 我从另一个项目复制了,现在希望将所有依赖项都更新到它们的最新版本,因为这是一个新项目,如果它坏了,我不介意修复它。 最简单的方法是什么? 我知道的最好的方法是运行,然后手动更新中的每个依赖项。一定有更好的办法。 对于纱线的特定解决方案,请参阅此StackOverflow线程。

  • 我有一个react应用程序,其依赖项已弃用。为了让它工作,我必须将依赖项更新到更新(但稳定)的版本。 根据这个stakoverflow线程,要将package.json中的依赖项更新到最新版本,npm-check-更新是npm的最佳选项。然而,我使用纱线进行包装管理。纱线中是否有相当于npm检查更新。因此,我使用单个包管理器来管理我的依赖关系。

  • 我正在尝试更新IntelliJ中的依赖项。不幸的是,IntelliJ总是使用旧版本加载依赖项。 开始时我很疑惑,因为当我用Maven启动应用程序时,它运行得很好。但是当我想用IntelliJ启动它时,我得到以下错误: IntelliJ Idea mapstruct java:映射处理器内部错误:java.lang.NullPointerException 在我尝试过的所有解决方案之后,Maven总

  • 虽然在处理未解决的依赖项时存在许多问题,但似乎没有更新这些依赖项的通用方法。 您需要手工为每一个检查maven central,还是有一些漂亮的工具可以自动将它们更新到最新版本?

  • 我试图为我们的项目定义一个发布过程。 我能够使用maven发布插件来完成发布,但我必须手动更新所有内部快照依赖项,以在准备之前发布版本,然后在发布之后再次返回快照版本。 我使用了maven版本插件,它检测我的公司依赖项,即快照构建,并列出要使用的正确版本构建。 我尝试了maven发布插件,准备目标,并抱怨我的依赖项中的SNAPSHOT版本。 是否有一种方法可以将快照依赖项更新到最新发布的版本,然后

  • 问题内容: 在做一个小发布并将其标记之前,我想更新package.json以反映该程序的新版本。 有没有一种方法可以自动编辑文件? 需要帮助吗? 问题答案: 可能是正确的答案。只给一个替代我建议咕噜凸点。它由angular.js的一名成员维护。 用法: 如果仍然使用grunt,那可能是最简单的解决方案。