# @coorpacademy/update-node 中文文档

规范地址：https://npmcn.com/package/%40coorpacademy/update-node/

版本：7\.13\.0
npm 元数据更新时间：2026-11-10T14:12:06.483Z
中文译文更新时间：2026-11-10T18:15:58.493Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40coorpacademy/update-node
原文对照：https://npmcn.com/package/%40coorpacademy/update-node/?lang=original
项目主页：https://github.com/Coorpacademy/update-node
源码仓库：https://github.com/Coorpacademy/update-node

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：95.1 kB，25 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=22\.12\.0
- 运行依赖：19 个
- 首次发布：2017-09-04T09:38:57.402Z
- 最新版本发布：2026-11-10T14:12:06.124Z
- 近 30 天下载量：4872（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：72（近 12 个月 3 个）

## 中文简介

睡眠时更新节点依赖性

## 安装

```sh
npm install @coorpacademy/update-node
```

也可以使用：`pnpm add @coorpacademy/update-node`、`yarn add @coorpacademy/update-node`、`bun add @coorpacademy/update-node`

## README

# 更新节点:出框 tray:

[![Npm version](https://img.shields.io/npm/v/@coorpacademy/update-node.svg)](https://www.npmjs.com/package/@coorpacademy/update-node) [![Build Status](https://app.travis-ci.com/CoorpAcademy/update-node.svg?token=KnYzxEMEXjZwczDR8x2L&branch=master)](https://travis-ci.com/CoorpAcademy/update-node) [![Github Actions Status](https://github.com/coorpacademy/update-node/actions/workflows/ci.yml/badge.svg)](https://github.com/CoorpAcademy/update-node/actions/workflows/ci.yml) [![codecov](https://codecov.io/gh/CoorpAcademy/update-node/branch/master/graph/badge.svg)](https://codecov.io/gh/CoorpAcademy/update-node)

## 选项: gear :

需要22.12.0节点或更新.

用AVA进行测试需要22.20+,24.12+,或26+. 使用开发版本在 `.nvmrc`。 。 。 .

```text
$ update-node --help
update-node [command]

Commands:
  update-node bump-dependencies  Upgrade Node.js and configured dependency
                                 clusters, then open pull requests
                                                          [aliases: upgrade, bd]
  update-node auto-bump          Bump the package version and publish if
                                 configured               [aliases: version, ab]
  update-node cleanup-prs        Comment on and close superseded generated
                                 Node.js upgrade pull requests
  update-node validate           Check the update-node configuration against its
                                 schema                         [aliases: check]
  update-node setup              Create .update-node.json using detected
                                 repository settings         [aliases: scaffold]

Options:
      --version                        Show version number             [boolean]
  -l, --local                          Keep upgrade commits local and skip
                                       GitHub PR cleanup               [boolean]
  -v, --verbose                        Include stack traces when a command fails
                                                                       [boolean]
  -t, --token                          GitHub token used for authentication
                                                                        [string]
  -a, --autoToken, --at, --auto-token  Use the GitHub token from gh auth token
                                                                       [boolean]
  -A, --auto                           Choose an upgrade or release from the
                                       current branch and commit       [boolean]
  -F, --folder                         Change to this folder before running the
                                       command                          [string]
  -s, --scope                          Scope for upgrade titles and branch
                                       names; does not change folders   [string]
  -C, --config                         Read configuration from this file instead
                                       of .update-node.json             [string]
  -d, --default-config, --default      Infer configuration when no configuration
                                       file is found                   [boolean]
  -c, --clean                          Stash changes, check out master and pull
                                       its upstream                    [boolean]
      --sync-lock                      Refresh lockfiles after a Node.js
                                       upgrade; disable with --no-sync-lock
                                                       [boolean] [default: true]
  -b, --pre-commit-bump-command        Commands to run before committing a
                                       Node.js upgrade; include their changes
                                                                         [array]
  -p, --pre-clean-command              Commands to run before stashing changes
                                       and checking out master           [array]
  -P, --post-clean-command             Commands to run after the clean checkout
                                       and pull                          [array]
  -f, --force                          Push with --force instead of
                                       --force-with-lease              [boolean]
  -h, --help                           Show help                       [boolean]

Upgrade related options:
  -T, --target                           Node.js version or range to target
                                                                        [string]
      --ignoreDependencies, --only-node  Upgrade only Node.js; skip dependency
                                         clusters                      [boolean]
      --lerna                            Update package engines in Lerna
                                         workspaces during a Node.js upgrade
                                                                       [boolean]
  -m, --message                          Append a message to upgrade commits and
                                         pull requests                  [string]
  -r, --reviewers                        Additional GitHub reviewers, separated
                                         by commas                      [string]
  -R, --teamReviewers                    Additional GitHub team reviewers,
                                         separated by commas            [string]
      --exact                            Use exact Node.js and npm engine
                                         versions     [boolean] [default: false]
      --loose                            Use >= for engine ranges; --no-loose
                                         preserves existing prefixes
                                                       [boolean] [default: true]

Examples:
  update-node setup                         Create a configuration for the
                                            current repository
  update-node bump-dependencies             Upgrade Node.js and configured
  --auto-token                              dependencies
  update-node auto-bump --auto-token        Create a release using the
                                            configured rules
  update-node cleanup-prs --repo            Clean up superseded Node.js upgrade
  owner/name --auto-token                   PRs in any repository
```

运行 `update-node <command> --help` 用于特定命令选项和示例.

### 配置

配置进入 a `.update-node.json` 在您的仓库的顶层.

#### 基础配置

主要配置项目如下:

-   `repoSlug`: github 账户 + repo 名称
-   `reviewers`, (中文(简体) ), `teamReviewers`: 审评员或团队审评员阵列,缺省 `[]`
-   `baseBranch`: 要瞄准的分支, 默认 `master`
-   `label`: 更新 Pull 请求( 默认) 后附的标签 `Upgrades :outbox_tray:`(中文(简体) )
-   `packageManager`: 要使用的软件包管理器( 默认) `npm` 除下列情况外 `yarn.lock`(中文(简体) )

三个更复杂的项目来配置 `node` 凸起逻辑, 依赖性 凸起逻辑 `auto-bump`,并更新了 PR `dependencies`,见下文各节.

#### 自动弹出

您可以配置用顶级制作新版本的能力 `auto-bump` 键.

设定 `auto-bump` 改为 `false` 以禁用自动泵,包括其自动PR清理,或使用对象配置.

`auto-bump.auto-clean-up` 控制在自动跳出和默认情况下对已取代的Node.js升级的公关进行清理 `true`设置它 `false` 以禁用自动清理。 独立 `cleanup-prs` 命令仍然可用,无论设置如何.

如果你想让新软件包的版本被阴暗化 `publish` 子财产归真. (默认命令) `npm publish`,充满 `publish-command`(中文(简体) )

默认的 mecanism 选择哪个 semver 关卡是基于关键词机制 . `major`, (中文(简体) ), `minor`, (中文(简体) ), `patch` 提供给 `npm version`。 。 。 . `noop` 也用于防止新版本被制作.

对于凸起,默认关键字如下:

-   `major`数字 : `#major`
-   `minor`数字 : `#noop` `#noRelease` (被接受为 `_` 或者说 `-` 介于 _没有_ 财务报告和审定财务报表 _释放_(中文(简体) )
-   `patch`数字 : `#patch`, (中文(简体) ), `#bug`, (中文(简体) ), `#fix`, (中文(简体) ), `#tweak`, (中文(简体) ), `#updates`
-   `noop`数字 : `#minor`

优先排序为: `noop`, (中文(简体) ), `major`, (中文(简体) ), `parch`, (中文(简体) ), `minor`。如果没有匹配,则选择最新的。 默认 `minor`

您可以添加您的自定义关键字 `custom-keywords` 或用您的默认替换默认 `keywords`。双方接受一个对象{\[优先级\]: \[关键词List\]}. (如果给定的 semver 关卡只有一个关键字模式,则只能作为字符串提供)/

模式匹配不敏感 .

您也可提供 [小型匹配](https://www.npmjs.com/package/minimatch) 模棱两可.

如果你想要一个自定义, 外部选择的mecanism 只是把你的命令 `release-type-command` 属性.

#### `node`

此属性有助于配置与节点版本相关的文件, 并且您希望在测试节点版本时被更新 .

当一个节点升级同步锁定文件或运行预先承诺的凸起命令时,更新节点需要节点版本管理器. 它更喜欢nvm(`nvm use`,则 `nvm install` (如有需要) `n auto` 当 nvm 不可用时。 这些命令与已激活的节点版本一起运行. 如果两个管理器都没有可用,则升级在更改版本文件之前停止 `No node version manager was found`升级 `--no-sync-lock` 并且没有预先承诺的命令不需要管理器.

自动升级为每个发布时准备单独的选项, 支持在主软件包最小值或高于主软件包的节点主选项 `engines.node` 版本。 上限和范围操作员不限制未来主要替代品: `^22.22.2` 在支持这些线时,仍然会产生22号、24号和26个公关。 目前的排放在LTS之前包含;不包括预释放和EOL主要排放. 为每个主机选择最新发布的带有可用精确的多克标记. 明确 `--target` 保留单级升级行为.

每种选择从同一个开始 `baseBranch` 承诺 一个新的主机将引擎的最小值提升到所选的全放出,并将现有的npm引擎更新到捆绑npm版本. 在同一大项内,每个软件包保持其已存在的节点和npm引擎范围,同时配置版本针和锁文件刷新. 设定 `node.preserveSameMajor` 改为 `false` 在同一专业内提高引擎迷你度。 任何配置的软件包最小值以下的候选人都会跳过 。 锁定同步和预先承诺命令明确激活选定的发布,即使没有 `.nvmrc` 已配置.

分支使用配置的前缀、范围、主要和次要,例如 `update-node-api-v24.10`。补丁更新复用分支和PR。 本地模式准备独立的本地分支和承诺. 最初的出票在每位候选人之后恢复;需要一棵干净的履带式工作树. 据报出现失败,其他候选人继续留任,如果有任何候选人失败,则命令退出。 未经更改的候选人不会产生承诺或公关.

期间 `auto-bump`在创建版本承诺之前,更新节点检查总部最近合并的PR,包括快速前方摘要承诺。 如果是生成的节点升级 PR, 它会评论 `Superseeded by #<merged-PR-number>` 为同一大类中的低等或更年长的未成年人配对节点升级公关,并关闭。 更高版本的替代品保持开放。 清理需要匹配生成的元数据,寄存器,基数,前缀和范围;PR作者不需要匹配对方或认证的账户. 它只在合并后运行,而不是当替换的PR创建后运行. 现有的相同评论在重试时重复使用. 本地模式跳过 GitHub 清理, 查找或清理失败会发出警告而不阻碍发布 .

运行 `update-node cleanup-prs --auto-token` (或 `--token <token>`在所有主要线路上独立进行自动抽取和总部清理。 匹配的更新合并升级作为替换优先,即使是其行中最新的开放PR. 否则,每一大类中最新的公开公关取代了同一大类中的旧的公开公关: `22.1`, (中文(简体) ), `22.2` 财务报告和审定财务报表 `22.3` 打开,清理关闭前两个并引用 `22.3` 公关。 开放的高级替代方法不能取代低级的PR。 没有进行版本突起或出版. `--local` 跳过 GitHub 访问 .

要从任何文件夹清理另一个寄存器, 请使用 `update-node cleanup-prs --repo owner/name --auto-token` (或 `--token <token>`) (中文(简体) ). 与 `--repo`,本地配置和包文件被绕过,目标寄存器的默认分支通过GitHub解决. 仓库、基地、前缀和范围保障措施仍然适用,不论公共关系作者如何。 命令报告匹配PR计数和关闭,保存或失败的数字,包括找不到合格PR时. `--local` 跳过搜索和清理.

当生成的标题、正文和全版分支都同意时,清理还承认没有元数据的更老的公关 `Upgrade Node to v26.13.0`, (中文(简体) ), `:rocket: Upgraded Node version to v26.13.0`,以及 `update-node-v26.13.0`。补丁版本通过数字比较。 现代 PR 取代了同一版本的旧格式 PR,包括默认的前缀过渡 `update-node` 改为 `upgrade-node`;自定义前缀和范围仍然分开. 用于下补丁版本的现代 PR 无法取代更新后遗留的 PR .

以下是配置属性列表 :

-   `branch`: 要执行的节点更新的分支前缀
-   `exact`: 写出精确的节点.js和npm引擎版本, 例如 `24.22.2`,而不是范围。 默认为 `false`; 启用 `exact` 优先于 `loose`。 。 。 .
-   `loose`: 写入 `>=` 默认引擎范围。 设定为 `false` 以保留现有的区域前缀,例如 `^` 或者说 `~`,当 `exact` 已禁用。 等同的CLI旗帜是 `--exact` 财务报告和审定财务报表 `--no-loose`。 。 。 .
-   `preserveSameMajor`:当所选择的放出在同一个节点主干线时,保留现有的节点和npm引擎范围. 默认为 `true` 自动多版本升级和 `false` 包括明确 `--target` 请求。 明显的布尔覆盖默认; 针和锁文件仍在刷新 .
-   `nvmrc`: 更新 `.nvmrc` 文件
-   `dockerfile`: 更新多克文件的Node.js版本
-   `travis`: 在 `.travis.yml` 文件
-   `package`: 更新软件包引擎 `package.json` 文件
-   `serverless`: 更新节点.js运行时间 `serverless.yml` 文件
-   `lerna`: 在整个Lerna工作空间更新软件包引擎;默认为 `false` 除非启用 `--lerna` 生成默认配置时检测到

每个文件选项接受 `true` 对于它通常的文件名,路径,一系列路径,或 `false` 跳过它。 Oconduction 文件选项被跳过;生成的默认配置启用被检测到的文件和包引擎. 设定 `node` 改为 `false` 以完全禁用节点升级.

何时 `preserveSameMajor` 应用时,即使 `exact` 或者说 `loose` 否则将改变格式.

#### 附属关系更新

这个 `dependencies` 选项是为了定义要升级的一组依赖性集群. 集群配置具有以下属性:

-   `name`: 集群名称
-   `message`: 犯罪的名称和拉动请求
-   `branch`: 用于打开拉动请求的分支
-   `dependencies`: 需要更新的(生产)依赖.
-   `devDependencies`: 需要更新的依赖关系.

依赖可以是完全匹配,也可以是使用 [小型匹配](https://www.npmjs.com/package/minimatch)。例如 `eslint`, (中文(简体) ), `eslint-plugin-*` `@babel/*`

### 示例

以下是由此寄存器所启发的配置,其中Node.js升级和自动PR清理明确启用:

```json
{
  "repoSlug": "Coorpacademy/update-node",
  "baseBranch": "master",
  "packageManager": "npm",
  "reviewers": [],
  "teamReviewers": [
    "env:TEAM_REVIEWERS"
  ],
  "label": "Upgrades :outbox_tray:",
  "auto-bump": {
    "auto-clean-up": true,
    "publish": true,
    "keywords": {
      "noop": ["#noop", "Update *#*"],
      "major": "#major",
      "minor": true,
      "patch": ["#bug", "#tweak", "plugging", "#updates"]
    }
  },
  "node": {
    "branch": "upgrade-node",
    "exact": false,
    "loose": true,
    "preserveSameMajor": true,
    "nvmrc": true,
    "dockerfile": false,
    "travis": false,
    "package": true,
    "serverless": false,
    "lerna": false
  },
  "dependencies": [
    {
      "name": "core",
      "message": "Update core dependencies",
      "branch": "update-core",
      "dependencies": [
        "bluebird",
        "yaml",
        "lodash",
        "minimatch",
        "yargs",
        "protocall",
        "request",
        "semver",
        "shelljs"
      ]
    },
    {
      "name": "testing-tools",
      "message": "Update Testing dependencies",
      "devDependencies": [
        "ava",
        "istanbul",
        "codecov",
        "nyc"
      ]
    },
    {
      "name": "eslint",
      "message": "Update eslint",
      "devDependencies": [
        "eslint",
        "@coorpacademy/eslint-plugin-coorpacademy"
      ]
    }
  ]
}
```

你也可以检查 [验证计划a](https://npmcn.com/package/%40coorpacademy/update-node/src/core/config.js) 或者说 [测试样本](https://npmcn.com/package/%40coorpacademy/update-node/test/integration/.update-node.json)

## 常见问题

### @coorpacademy/update-node 是什么？

睡眠时更新节点依赖性

### 如何安装 @coorpacademy/update-node？

在项目目录运行 npm install @coorpacademy/update-node，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 update-node，可以用 npx update-node 直接运行。

### @coorpacademy/update-node 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/coorpacademy\_\_update-node 是否存在。

### @coorpacademy/update-node 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @coorpacademy/update-node 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.12\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @coorpacademy/update-node 可以商用吗？

@coorpacademy/update-node 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @coorpacademy/update-node 的下载量有多少？

根据 npm 官方下载统计，@coorpacademy/update-node 在 2026/10/11 – 2026/11/09 这 30 天内被下载 4,872 次，日均约 162 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @coorpacademy/update-node 还在维护吗？

最新版本 7\.13\.0 发布于 2026/11/10（今天）；至今共发布 72 个版本，其中过去 12 个月发布了 3 个；首次发布于 2017/09/04。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

