我从另一个项目复制了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"
  }
}

有关Yarn种特定解决方案,请参阅this Stack Overflow螺纹.

推荐答案

现在看来npm-check-updates是唯一的办法.

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

关于npm<;3.11:

只需将每个依赖项的版本更改为*,然后运行npm update --save.(Note: broken in recent (3.11) versions of 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"
  }

当然,这是更新依赖项的钝锤.如果像你说的那样,项目是空的,没有任何东西可以 destruct ,那就好了.

另一方面,如果你在一个更成熟的项目中工作,你可能想在升级之前验证一下你的依赖关系中没有 destruct 性的变化.

要查看哪些模块已经过时,只需运行npm outdated.它将列出所有已安装且有更新版本可用的依赖项.

有关Yarn特定溶液,请参阅this StackOverflow answer.

Node.js相关问答推荐

使用Moongose处理node.js中重定向的then()块链

node 无法验证第一个证书

在导入时未找到Pupeteer-PAGE-Proxy包

Mongoose更新许多不使用数组作为筛选器来更新记录

聚合操作不返回任何具有mongoose模式的内容

MongoDB的方面查询的Postgres类似功能

try 插入重复的邮箱时,mongoDB DuplicateKey 错误未定义

try 使用 pdf.js 时 pdf.getPage 不是函数

合并Shift对象数组以创建最终的排班表

将 null 推入管道后,node.js 可写完成未发出

mongoose 7.0.3 使用运算符 $and 严格搜索日期

错误 node :错误:绑定消息提供 16 个参数,但准备语句需要 15 个

用户与mongoose 的完美搭配

Azure Function 在 2022 年 4 月 26 日禁用将用户字段设置为 HTTP 请求对象

无服务器无法获取所有记录事件对象验证失败?

如何在 node 调试器中禁用第一行中断

如何使用适用于 Node.js 的 AWS 开发工具包将 Amazon S3 中的所有对象从一个前缀复制/移动到另一个前缀

Base64 编码一个 javascript 对象

运行摩卡+伊斯坦布尔+通天塔

Dart 语言比 JavaScript (Node.js) 有什么好处