# @eggjs/scripts 中文文档

规范地址：https://npmcn.com/package/%40eggjs/scripts/

版本：5\.1\.0
npm 元数据更新时间：2026-10-07T08:20:51.119Z
中文译文更新时间：2026-11-14T00:04:19.602Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40eggjs/scripts
原文对照：https://npmcn.com/package/%40eggjs/scripts/?lang=original
项目主页：https://github.com/eggjs/egg/tree/next/tools/scripts
源码仓库：https://github.com/eggjs/egg

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

- 包体积（解压后）：37.6 kB，21 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>= 22\.18\.0
- 运行依赖：6 个
- 首次发布：2024-12-31T12:53:48.755Z
- 最新版本发布：2026-10-07T08:20:50.641Z
- 近 30 天下载量：2764（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：43（近 12 个月 33 个）

## 中文简介

鸡蛋项目的部署工具

## 安装

```sh
npm install @eggjs/scripts
```

也可以使用：`pnpm add @eggjs/scripts`、`yarn add @eggjs/scripts`、`bun add @eggjs/scripts`

## README

# @eggjs/ 标语

[![NPM version](https://img.shields.io/npm/v/@eggjs/scripts.svg?style=flat-square)](https://npmjs.org/package/@eggjs/scripts) [![npm download](https://img.shields.io/npm/dm/@eggjs/scripts.svg?style=flat-square)](https://npmjs.org/package/@eggjs/scripts) [![Node.js Version](https://img.shields.io/node/v/@eggjs/scripts.svg?style=flat)](https://nodejs.org/en/download/) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://makeapullrequest.com/)

为鸡蛋项目部署工具.

**注意: Windows 部分支持,参见 [22号](https://github.com/eggjs/egg-scripts/pull/22)**

## 安装

```bash
npm i @eggjs/scripts --save
```

## 使用量

添加 `eggctl` 改为 `package.json` 脚本 :

```json
{
  "scripts": {
    "start": "eggctl start --daemon",
    "stop": "eggctl stop"
  }
}
```

然后运行为:

-   `npm start`
-   `npm stop`

**说明:** `egg-scripts` 不建议安装全局,您应当安装并用作 npm 脚本.

## 命令

### 开始

开始彩蛋模式.

```bash
$ eggctl start [options] [baseDir]

# Usage
# eggctl start --port=7001
# eggctl start ./server
```

-   **参数**
    -   `baseDir` - 应用程序目录,默认为 `process.cwd()`。 。 。 .
-   **选项**
    -   `port` - 听端口,默认为 `process.env.PORT`,如果未设定,则蛋将使用 `7001` 作为默认.
    -   `title` - 处理标题描述,用于 kill grep, 默认为 `egg-server-${APP_NAME}`。 。 。 .
    -   `workers` - 应用工人人数,默认为: `process.env.EGG_WORKERS`,如果未设定,则蛋将使用 `os.cpus().length` 作为默认.
    -   `daemon` - 无论是在背景守护进程模式下运行,如果在嵌入模式下运行,不要使用它.
    -   `framework` - 指定可以是绝对路径或npm包的框架,默认为自动检测.
    -   `env` - 服务器环境,默认为 `process.env.EGG_SERVER_ENV`,建议保持空出,然后使用 framwork 默认环境.
    -   `stdout` - 自定义 stdout 文件, 默认为 `$HOME/logs/master-stdout.log`。 。 。 .
    -   `stderr` - 自定义 stderr 文件,默认为 `$HOME/logs/master-stderr.log`。 。 。 .
    -   `timeout` - 应用程序启动时最大超时, 默认为300秒 .
    -   `ignore-stderr` - 应用程序启动时是否忽略了 stderr .
    -   `sourcemap` 编号 : `typescript` 编号 : `ts` - 为堆栈跟踪提供源地图支持.
    -   `node` - 自定义节点命令路径, 默认将从 $PATH 中找到节点

### 停下来

别吃鸡蛋了.

**说明:** 如果执行没有 `--title`它会杀死所有的鸡蛋过程.

```bash
$ eggctl stop [options]

# Usage
# eggctl stop --title=example
```

-   **选项**
    -   `title` - 处理标题描述,用于 kill grep.
    -   `timeout` - 应用程序停止时的最大超时,默认为5s.

## 选项在 `package.json`

除命令行规格外,还可以在 `package.json`然而,命令行指定优先.

```js
{
  "eggScriptsConfig": {
    "port": 1234,
    "ignore-stderr": true,
    // will pass as `node --max-http-header-size=20000`
    "node-options--max-http-header-size": "20000",
    // will pass as `node --allow-wasi`
    "node-options--allow-wasi": true
  }
}
```

## 问题和建议

请打开一个问题 [这里](https://github.com/eggjs/egg/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc)。 。 。 .

## 许可证

[麻省理工学院](https://npmcn.com/package/%40eggjs/scripts/LICENSE)

## 贡献者

[![Contributors](https://contrib.rocks/image?repo=eggjs/egg)](https://github.com/eggjs/egg/graphs/contributors)

制造的 [贡献者-img](https://contrib.rocks/)。 。 。 .

## 常见问题

### @eggjs/scripts 是什么？

鸡蛋项目的部署工具

### 如何安装 @eggjs/scripts？

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

### @eggjs/scripts 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @eggjs/scripts 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @eggjs/scripts 需要什么版本的 Node\.js？

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

### @eggjs/scripts 可以商用吗？

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

### @eggjs/scripts 的下载量有多少？

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

### @eggjs/scripts 还在维护吗？

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

