# @cypress/commit-message-install 中文文档

规范地址：https://npmcn.com/package/%40cypress/commit-message-install/

版本：3\.1\.3
npm 元数据更新时间：2025-10-27T19:12:58.355Z
中文译文更新时间：2026-11-11T10:02:17.265Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40cypress/commit-message-install
原文对照：https://npmcn.com/package/%40cypress/commit-message-install/?lang=original
项目主页：https://github.com/cypress-io/commit-message-install#readme
源码仓库：https://github.com/cypress-io/commit-message-install

弃用说明：Package no longer supported\. Contact Support at https://www\.npmjs\.com/support for more info\.

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

- 包体积（解压后）：26.3 kB，9 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=6
- 运行依赖：7 个
- 首次发布：2019-04-09T18:47:51.897Z
- 最新版本发布：2020-04-06T06:20:36.073Z
- 近 30 天下载量：2294（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：19（近 12 个月 0 个）

## 中文简介

国家防范机制安装一个取自最后承诺消息的名称包

## 安装

```sh
npm install @cypress/commit-message-install
```

也可以使用：`pnpm add @cypress/commit-message-install`、`yarn add @cypress/commit-message-install`、`bun add @cypress/commit-message-install`

## README

# @ cypress/commit-message-install (中文(简体) )

> 国家防范机制安装一个取自最后承诺消息的名称包

[![NPM](https://nodei.co/npm/@cypress/commit-message-install.svg?downloads=true)](https://npmjs.org/package/@cypress/commit-message-install)

 [![Build status](https://travis-ci.org/cypress-io/commit-message-install.svg?branch=master)](https://travis-ci.org/cypress-io/commit-message-install)[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg) ](https://github.com/semantic-release/semantic-release)[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/) [![renovate-app badge](https://img.shields.io/badge/renovate-app-blue.svg)](https://renovateapp.com/)

## 安装

要求数 [节点](https://nodejs.org/en/) 6或以上版本.

```sh
npm install --save-dev @cypress/commit-message-install
yarn add -D @cypress/commit-message-install
```

或全球

```sh
npm i -g @cypress/commit-message-install
yarn global @cypress/commit-message-install
```

### 节点版本

我们试图使用与Cypress相同的最小版本的节点

## 使用

### 从承诺信息中安装国家防范机制软件包

想象一下,你有一个CI建筑 安装了国家预防机制的依赖, 但你也想要 通过创建承诺来覆盖一个或多个依赖和测试。 而不是改变 `package.json` 您可以使用嵌入的 JSON 块制作承诺信息描述 自定义安装。 然后根据承诺消息使用这个 CLI 工具来安装.

示例 CI 文件命令

```
- npm i -g @cypress/commit-message-install
- commit-message-install
```

如果承诺消息是这个

```
this will install package debug and chalk and while
installing them will set environment variable FOO to "bar".
The install will happen on all platforms

    ```json
    {
        "platform": "*",
        "architecture": "x64",
        "packages": "debug,chalk"
    }
    ```

Happy installation
```

**说明** `platform` 可能会是 `*` 或一个像 `darwin` (来自节点) `os.platform()`)或多个平台列表,例如 `darwin,linux`。 。 。 . `architecture` 通常为 64 位 `x64` 以返回为单位 `os.arch()`。 。 。 .

### 具体承诺

您可以使用特定任务( 而非当前任务) 中的承诺信息安装

```shell
$ $(npm bin)/commit-message-install --sha f81a00
```

### 其它命令

您可以指定要运行的命令 _如果任务消息没有 JSON 块_。例如,你可以 安装默认依赖

```bash
$ $(npm bin)/commit-message-install --else "npm install foo-bar"
```

### 根据平台运行或跳过命令

如果承诺消息允许特定的平台,您可以运行任何命令,同时 从承诺消息中设置环境变量。 例如,如果th 将消息嵌入以下 JSON 块

```json
{
    "platform": "win32",
    "env": {
        "FOO": "bar"
    }
}
```

和CI拥有命令 `run-if echo Foo is \\$FOO`,然后在 Windows CI 上打印 `Foo is bar` 在其他平台上,它会跳过这一步.

一般来说,如果你使用 `commit-message-install` 在CI上,那么你应该使用 `run-if` 也指挥! 例如,这里是安装默认依赖的 CircleCI 步骤,但随后运行 有条件的步骤

```
steps:
  - checkout
  - run: npm install
  - run: $(npm bin)/commit-message-install
  - run: $(npm bin)/run-if $(npm bin)/cypress version
  - run: DEBUG=cypress:cli $(npm bin)/run-if $(npm bin)/cypress verify
```

### 设置 GitHub 承诺状态

通过 GitHub 同步通知其他项目非常有用.

```text
$(npm bin)/set-status --label "context label" --state success --description "short message"
```

国家可以是"error","待决","失败"或"成功". `--label` 选项,如果没有设置,则将使用平台和软件包名称.

### 已发送消息

您可以使用脚本 `has-message` 检查JSON是否实施了信息封锁

```text
$(npm bin)/has-message
$(npm bin)/has-message --sha f81a00
```

如果承诺体内有消息 脚本会用代码 0退出 否则它会以代码1退出.

见 [承诺信息安装实例](https://github.com/bahmutov/commit-message-install-example) 复出为一譬. 这是CircleCI 停止,如果没有承诺消息 JSON

```yml
# install tool locally
- run: npm install @cypress/commit-message-install
- run: |
    if ! $(npm bin)/has-message; then
        echo Stopping early, no commit message
        circleci-agent step halt
    else
        echo All good, found commit message JSON
    fi
```

```yml
# install tool globally using Yarn
- run: yarn global @cypress/commit-message-install
- run: |
    if ! has-message; then
        echo Stopping early, no commit message
        circleci-agent step halt
    else
        echo All good, found commit message JSON
    fi
```

## API 密码

### 从吉特获得Json

从当前 Git 消息文本中提取 JSON 块

```js
const {getJsonFromGit} = require('@cypress/commit-message-install')
getJsonFromGit()
    .then(json => {
        // {platform: 'win32', packages: 'foo', branch: 'test-branch'}
    })
```

如果信件中没有有效的 JSON 对象,则解决方式为 `undefined`。 。 。 .

### 获取InstallJson

您可以将 Json 对象组成好对象以包含在下划线中 `json` 块在正文中 使用提供的函数发送消息

```js
const {getInstallJson} = require('@cypress/commit-message-install')
// package(s), env, platform, branch name (optional)
const json = getInstallJson('foo',
    {foo: 42}, 'linux', 'test-branch', 'b7ccfd8')
// returns an object
    // {
    //   platform: "linux",
    //   env: {foo: 42},
    //   packages: "foo",
    //   branch: "test-branch",
    //   commit: "b7ccfd8"
    // }
```

您可以通过单个包名, 如 `debug` 或数个作为单一字符串 `debug chalk` 或清单 `['debug', 'chalk']`

你可以通过平台 无论是个人 `os.platform()` 或一个"\*"为所有人,甚至 多个平台如 `win32,linux` 或者说 `linux|darwin`。 。 。 .

### npm 安装

在从承诺消息中获取 JSON 后, 您可以安装依赖性

```js
const {getInstallJson, npmInstall} = require('@cypress/commit-message-install')
getInstallJson()
  .then(npmInstall)
```

## 调试

-   运行此工具 `DEBUG=commit-message-install` 环境变量集
-   强制读取本地文件发送的消息 `--file <filename>` 选项

### 小印数

作者:格列布·巴赫穆托夫 <gleb.bahmutov@gmail.com> 2017年©

-   [@bahmutov (英语)](https://twitter.com/bahmutov)
-   [glebbahmutov.com (中文(简体) )](https://glebbahmutov.com/)
-   [博客](https://glebbahmutov.com/blog)

许可:麻省理工学院 - 做任何与代码有关的事情, 但如果它不起作用,不要责怪我.

支持: 如果您发现此模块有任何问题, 电子邮件 / 微博 / [未决问题](https://github.com/cypress-io/commit-message-install/issues) 在基图布

## MIT 许可证

版权(c)2017 Cypress.io

特此免费准许任何人 获取该软件和相关文件的副本 文件(“软件”),在软件中处理,不包含 限制,包括不限制使用权, 复制、修改、合并、出版、发行、分版和/或销售 软件的复制本,并允许向 为此提供了软件,但须符合下列条件: 条件:

上述版权通知和本许可通知应为: 列入软件的所有副本或大部分.

软件是提供的"是", 没有任何种类的恐惧, 或监禁,包括但不限制于 特别目的和目的的证明 无所不入。 绝对不能让警察或警察 B. 任何索赔、救济或其他负债的持有者, 条约、条约或其他条约行动 来源、来源或与溶剂或使用有关的 其他交易 在软件.

## 常见问题

### @cypress/commit-message-install 是什么？

国家防范机制安装一个取自最后承诺消息的名称包注意：该包已被作者标记为弃用——Package no longer supported\. Contact Support at https://www\.npmjs\.com/support for more info\.

### 如何安装 @cypress/commit-message-install？

在项目目录运行 npm install @cypress/commit-message-install，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 cmi、run-if、set-status、has-message、commit-message-install，可以用 npx cmi 直接运行。

### @cypress/commit-message-install 支持 TypeScript 吗？

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

### @cypress/commit-message-install 支持 ESM 还是 CommonJS？

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

### @cypress/commit-message-install 需要什么版本的 Node\.js？

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

### @cypress/commit-message-install 可以商用吗？

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

### @cypress/commit-message-install 的下载量有多少？

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

### @cypress/commit-message-install 还在维护吗？

最新版本 3\.1\.3 发布于 2020/04/06（6 年前）；至今共发布 19 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/04/10。作者已将其标记为弃用，新项目建议寻找替代方案。

