# @elaraai/east-node-cli 中文文档

规范地址：https://npmcn.com/package/%40elaraai/east-node-cli/

版本：1\.0\.107
npm 元数据更新时间：2026-11-13T06:50:57.876Z
中文译文更新时间：2026-11-13T12:46:54.605Z
软件包许可：AGPL-3\.0-or-later

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

原始 npm 页面：https://www.npmjs.com/package/%40elaraai/east-node-cli
原文对照：https://npmcn.com/package/%40elaraai/east-node-cli/?lang=original
项目主页：https://github.com/elaraai/east-workspace#readme
源码仓库：https://github.com/elaraai/east-workspace

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

- 包体积（解压后）：431 kB，70 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.0\.0
- 运行依赖：1 个
- peer 依赖：@elaraai/east 1\.0\.107，@elaraai/east-diagnostics 1\.0\.107
- 首次发布：2025-12-11T02:45:11.543Z
- 最新版本发布：2026-11-13T06:50:57.433Z
- 近 30 天下载量：3929（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：144（近 12 个月 144 个）

## 中文简介

使用节点运行 East IR 程序的命令行界面

## 安装

```sh
npm install @elaraai/east-node-cli
```

也可以使用：`pnpm add @elaraai/east-node-cli`、`yarn add @elaraai/east-node-cli`、`bun add @elaraai/east-node-cli`

## README

# 东节点CLI

> 使用节点运行 East IR 程序的命令行界面

[![License](https://img.shields.io/badge/license-AGPL--3.0-blue.svg)](https://npmcn.com/package/%40elaraai/east-node-cli/LICENSE.md) [![Node Version](https://img.shields.io/badge/node-%3E%3D22.0.0-brightgreen.svg)](https://nodejs.org/)

**东节点CLI** 为已编译的执行提供命令行接口 [东](https://github.com/elaraai/east-workspace/tree/main/libs/east) 使用Node.js平台执行的IR程序.

## 安装

```bash
# Install the CLI
npm install -g @elaraai/east-node-cli

# Install platform packages (required)
npm install @elaraai/east-node-std
npm install @elaraai/east-node-io  # if using I/O functions
```

## 使用量

### 运行中的程序

```bash
# Run with standard platform
east-node run ./program.beast2 -p @elaraai/east-node-std

# Run with multiple platforms
east-node run ./db-query.beast2 \
    -p @elaraai/east-node-std \
    -p @elaraai/east-node-io

# Run with input files
east-node run ./transform.beast2 \
    -p @elaraai/east-node-std \
    -i input.json \
    -i config.east

# Run with output file
east-node run ./process.beast2 \
    -p @elaraai/east-node-std \
    -i input.beast2 \
    -o result.json

# Verbose mode
east-node run ./program.beast2 -p @elaraai/east-node-std -v
```

### 运行一个单元( E)`exec`(中文(简体) )

`east-node exec <unit.beast2>` 是命令 e3 运行: 机器显示双胞胎 联 合 国 `run`。单位文件名为工作——一个运行于其输入的程序,或 要合并的输出部分—— 与平台, 线程运行 可能使用,输出的种类(程序返回的值,或数组,设置, 拼接或折叠输出到何处, 并写入输出和输入 成果:结果`ok`,或 `failed` 与消息及其来源 ),峰值内存,以及所花费的加载,编译,执行的时间 写作 单元中的路径可能与其文件相对,所以一个单元和 文件名在移动时重放。 一个跑步的单位说它如何 输入读取(`decode`,参见 [输入如何读取](https://npmcn.com/package/%40elaraai/east-node-cli/#readme-how-inputs-are-read)) (中文(简体) ). 这个 当结果为 0 时退出 0 `ok` 和1,如果结果记录为失败; `-v` 打印时间和峰值记忆.

### 随父母退出

与 `--exit-with-parent` 在其命令行上 (`run` 财务报告和审定财务报表 `exec`)跑道长 看着它从工人的线上取出 读取它通过插座 工人自己的事件循环, 并杀死自己的过程 一旦stdin结束, 关闭或无法读取。 一个用口水管给跑者产卵的家长 它从未像e3那样写到 当它死时它会带着它下去, 即使身体在计算。 监视器从不堵住读数 所以 跑者从不离开 跑者打开 `process.stdin` 在此之前 观察者读取,所以它继续充分利用它的口舌来对付任何管子 同步管上待读的 Windows 持有管的文件对象 锁定,然后打开 stdin(作为首次导入) `node:process` 已经) 否则会等到父母去世 没有旗帜, Stdin就只剩下了 一个人.

```bash
east-node run ./task.beast2 --exit-with-parent -p @elaraai/east-node-std -o out.beast2
```

### 版本信息

```bash
# Show CLI version
east-node version

# Show CLI and platform versions
east-node version -p @elaraai/east-node-std -p @elaraai/east-node-io
```

### 将 IR 转换到类型脚本

```bash
# Print an IR program as East.function builder source
east-node transpile ./program.beast2 -o program.ts

# Every IR file in a directory, plus the IR each printed module builds
# back — the round-trip check
east-node transpile ./ir/ -o ./ts/ --rebuild ./rebuilt/
```

打印模块导入 `@elaraai/east` 并重建同样的IR (单位:千美元) `east-c ir normalize`: `$`\- 声明的形式, 表达式方法和 `East.value(..., T)` 值的构造. 构建 TypeScript 表面对打印没有拼写 `East.builtin(...)`。 。 。 . `east-py transpile` 是蟒蛇双胞胎 打印机和跨语言扫描在 `docs/conventions/EAST_CODEGEN.md`。 。 。 .

### 导出其它语言的函数

```bash
# Write a module's `eastFunctions` export as a function manifest that a python
# package (or another TypeScript package) imports with East.import_function /
# East.importFunction; -p names the platform packages implementing any
# platform calls the functions make
east-node export-functions dist/pricing.js -o pricing.functions.beast2 -p @elaraai/east-node-std
```

## CLI 参考

### `east-node run`

执行东方IR程序.

```
east-node run <ir_file> [options]

Arguments:
  ir_file                    Path to IR file (.beast2, .beast, .east, or .json)

Options:
  -p, --package <package>    Platform package to load (can be repeated)
  -i, --input <file>         Input data file (can be repeated)
  -o, --output <file>        Output file path for result
  --decode <mode>            How collection inputs are read: lazy (the default) or whole
  -v, --verbose              Enable verbose output
  --exit-with-parent         Exit as soon as stdin reaches end of file — for a parent
                             that holds a stdin pipe it never writes to
  -h, --help                 Display help
```

### `east-node exec`

执行一个单元,即跑道协议(见 [运行一个单元](https://npmcn.com/package/%40elaraai/east-node-cli/#readme-running-a-unit-exec)) (中文(简体) ).

```
east-node exec <unit> [options]

Arguments:
  unit                       The unit file (.beast2); relative paths in it are relative to its directory

Options:
  -v, --verbose              Print each input's account, where the time went and the peak memory
  --exit-with-parent         Exit as soon as stdin reaches end of file
```

### `east-node transpile`

将东端 IR 程序打印为 TypeScript `East.function` 建设者源.

```
east-node transpile <input> [options]

Arguments:
  input                      Path to an IR file (.beast2, .beast, .east, or .json), or a directory of them

Options:
  -o, --output <path>        Write the module here (a directory when <input> is one; default: stdout)
  --name <name>              The module-level export bound to the rebuilt function (default: main)
  --import-from <specifier>  The module the printed source imports East from (default: @elaraai/east)
  --rebuild <path>           Import the printed module and write the IR it builds here
                             (.beast2 or .json; a directory in directory mode)
```

### `east-node export-functions`

写入模块 `eastFunctions` 导出( 名称 ) `East.function` (a) 显示功能.

```
east-node export-functions <module> -o <file> [options]
east-node export-functions <module> --batch <file> [--name <name>] [--package-version <version>]

Arguments:
  module                       Path to the built module exporting `eastFunctions`

Options:
  -o, --output <file>          The manifest to write (.beast2)
  --batch <file>               Write several manifests from one import of the module: a beast2
                               batch (FunctionExportBatchType), each entry its own output, -p
                               packages and --only functions; the entries run in order, the first
                               that fails ending the export
  -p, --package <package...>   Platform packages implementing the functions' platform calls
                               (every dependency must be provided by one; recorded as its provider)
  --name <name>                The package name importers use (default: the module file's stem)
  --package-version <version>  The version recorded in the manifest (default: 0.0.0)
  --only <name...>             Export only these functions of `eastFunctions` (default: all)
```

### `east-node version`

显示版本信息 .

```
east-node version [options]

Options:
  -p, --package <package>    Platform package to check (can be repeated)
```

## 支持的文件格式

| 延长 | 格式 |
| --- | --- |
| `.beast2`, (中文(简体) ), `.beast` | 二进制东方格式 |
| `.east` | 文本向东格式 |
| `.json` | JSON 格式 |

## 输入如何读取

索引 `.beast2` 打开收藏输入(Array/Set/Dict) **懒散**随便 他们的分量:大小、迭代和按键读数都来自blob的部分 带有 O( 部分) 解码内存的索引, 以及任何其它操作 解码整个值一次。 循环只保留它行走的部分. 已按键 读取它们解码的区段, 最多为每输入解码重量的256 MiB (单位:千美元)`EAST_PAGED_CACHE_BYTES`· ; `1` 并按键顺序保存 大约两个. `--decode whole` 在程序运行前解码每个输入 换句话说,这更适合随机阅读 超过这个程序,或者 在一个输入上循环不止一次: 懒惰地,一个读取超过段的读取 寻呼器会再次解码其部分. `exec` 从它读取相同的选择 单位 `decode`东C和东平都一样 语义相同 无论是记忆还是时间选择 都不是行为切换.

```bash
east-node run ./lookup.beast2 -p @elaraai/east-node-std -i table.beast2 --decode whole
```

与 `-v` 跑者说每个输入是如何打开的 懒惰输入读到的 以及一个输入解码的完整在记忆中持有什么——居民的增长 记忆在它解码器上, 除了它在磁盘上的重量,因为一个巢 收藏会多次解码。 一个懒惰的输入读取到 他们解码了它的片段和它们探测的栅栏 以及字节 它们读取;当一个操作无法调用时,调用器将全部解码到 添加的常住内存; 当它们再次解码时, 添加到多少 解码多少个段, 因为解码输入整段将解码每个段 一次,东-c和东-平各用同名词来表示,但字节读取.

收集输入也可能是显示目录,形式 e3 阶段 a 存储在: 输入文件包含一个表单, 并且每个段 名称是一个独立blob在 `<file>.segments/<sha256>.beast2`打开 轻而易举地,只读打开它到达的部分,或 ——并量其部分 `-v` 账户.

打开输入 **冻结** ——被冻结的值不能变异,被冻结 收藏按价值比较——所以懒惰的开口为每个元素形状服务,但 一个携带一个 `Ref` 或函数,其特性为每个函数的新解码 段会丢失; 该形状会解码整个 。 同一规则适用于 东-c和东-平跑者.

## 平台软件包

平台软件包提供东方平台功能的运行时间执行:

-   **[@elaraai/东节点-std](https://www.npmjs.com/package/@elaraai/east-node-std)** - 标准平台(主机、文件系统、加密、时间等)
-   **[@elaraai/东-北-欧](https://www.npmjs.com/package/@elaraai/east-node-io)** - I/O平台(SQL、S3、FTP、Redis、MongoDB等)

## 创建平台软件包

任何npm软件包都可以通过遵循此公约提供平台功能:

1.  导出a `./platform` 默认导出子路径 `PlatformFunction[]`
2.  导出 `./package.json` 用于版本发现

见 [设计文件](https://npmcn.com/package/docs/east-node-cli-design.md) 详细情况.

## Claude 代码插件

东方生态系统也运载a [克劳德代码](https://claude.com/claude-code) 插件 — East 语言技能, 实例搜索, 以及 East 代码的先发制人诊断 `elaraai` 市场:

```text
# Inside Claude Code
/plugin marketplace add elaraai/east-workspace
/plugin install east@elaraai
```

```bash
# From a terminal
claude plugin marketplace add elaraai/east-workspace
claude plugin install east@elaraai
```

## 许可证

双重许可证:

-   **开源**数字 : [AGPL-3.0 导弹](https://npmcn.com/package/%40elaraai/east-node-cli/LICENSE.md) - 免费开放源码使用
-   **商业**:可供专有用途-联系方式 [支助@elara.ai](mailto:support@elara.ai)

### 生态系统

-   **[东](https://github.com/elaraai/east-workspace/tree/main/libs/east)**: statical地打出,以表达为主的语言有可序列的IR. 运行跨 TypeScript, Python, C 等运行时间的可移植逻辑.
    
    -   [@elaraai/东边](https://www.npmjs.com/package/@elaraai/east): 有类型系统、表达式和参考JS编译器的核心语言SDK
-   **[东节点](https://github.com/elaraai/east-workspace/tree/main/libs/east-node)**: Node.js 平台用于I/O,数据库和系统操作的功能.
    
    -   [@elaraai/东节点-std](https://www.npmjs.com/package/@elaraai/east-node-std): 控制台、 文件系统、 获取、 加密、 时间、 路径、 随机
    -   [@elaraai/东-北-欧](https://www.npmjs.com/package/@elaraai/east-node-io): SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, 压缩
    -   [@elaraai/东-节点-cli](https://www.npmjs.com/package/@elaraai/east-node-cli): 用于在 Node.js 运行 East IR 程序的 CLI
-   **[东 C](https://github.com/elaraai/east-workspace/tree/main/libs/east-c)**: C11本土运行时间用于执行东IR. 通过npm(发射器+每个平面的可选依赖)进行分配,并在每个GitHub放出上作为tarball.
    
    -   [@elaraai/东-克-克利](https://www.npmjs.com/package/@elaraai/east-c-cli): npm 发射器 – 安装匹配的本地二进制作为可选依赖
    -   `east-c`: Core 运行时间 – 类型系统,IR 解释器,内置,序列化(Beast2, JSON, CSV, East text)
    -   `east-c-std`: 控制台、 文件系统、 获取、 加密、 时间、 路径、 随机
    -   `east-c-cli`: 用于在本地运行 East IR 程序的 CLI
-   **[东 Py](https://github.com/elaraai/east-workspace/tree/main/libs/east-py)**: Python 运行时间,标准平台,I/O,以及数据科学平台功能. 发布至PyPI.
    
    -   [东平](https://pypi.org/project/east-py/): Core Python 运行时间——类型系统,IR编译器,212+内建,Cython加速热路
    -   [东平-上](https://pypi.org/project/east-py-std/): 控制台、 文件系统、 获取、 加密、 时间、 路径、 随机
    -   [东比欧](https://pypi.org/project/east-py-io/): SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, 压缩
    -   [东-平-克利](https://pypi.org/project/east-py-cli/): 用于在 Python 运行 East IR 程序的 CLI
    -   [东平数据科学](https://pypi.org/project/east-py-datascience/) (平价)+ [@elaraai/东平数据科学](https://www.npmjs.com/package/@elaraai/east-py-datascience) (npm):优化(MADS, Optuna, ALNS, GoogleOR),ML(XGBoost, LightGBM, NGBoost, PyTorch, Lightning, GP), 贝叶斯推论(PyMC),可解释性(SHAP),相通性预测(MAPIE)
-   **[东方大学](https://github.com/elaraai/east-workspace/tree/main/libs/east-ui)**:已打入UI组件定义和React渲染器,外加VS代码预览.
    
    -   [@elaraai/东-伊](https://www.npmjs.com/package/@elaraai/east-ui): 50+ 键入的UI 组件用于布局,窗体,图表,表格,对话框
    -   [@elaraai/ 东- ui- 组件](https://www.npmjs.com/package/@elaraai/east-ui-components): 带有 Chakra UI v3 样式的反相渲染器
    -   [@elaraai/e3-ui (英语)](https://www.npmjs.com/package/@elaraai/e3-ui):e3 + UI桥-数据绑定, `e3.ui()` 任务,显示
    -   [@elaai/e3-ui-组件](https://www.npmjs.com/package/@elaraai/e3-ui-components): 为 e3 API 执行查询钩和预览组件
-   **[e3——东行发动机](https://github.com/elaraai/east-workspace/tree/main/libs/e3)**: 大规模运行东方管线的持久执行引擎。 类似Git的内容可处理存储,自动记忆,反应数据流,实时监测.
    
    -   [@elaraai/e3 请检查url=值 (帮助)](https://www.npmjs.com/package/@elaraai/e3): SDK 用于编写带有打字任务和管道的 E3 包
    -   [@elaraai/e3-core (英语)](https://www.npmjs.com/package/@elaraai/e3-core): 对象存储、数据流管弦器、执行状态
    -   [@elaai/e3型](https://www.npmjs.com/package/@elaraai/e3-types): e3 包的共享类型定义
    -   [@elaraai/e3-cli (英语)](https://www.npmjs.com/package/@elaraai/e3-cli)数字 : `e3 repo`, (中文(简体) ), `e3 package`, (中文(简体) ), `e3 workspace`, (中文(简体) ), `e3 dataflow run`, (中文(简体) ), `e3 watch`, (中文(简体) ), `e3 task logs` 命令
    -   [@elaraai/e3-api-客户端](https://www.npmjs.com/package/@elaraai/e3-api-client)远程 e3 寄存器的 HTTP 客户端
    -   [@elaraai/e3-api-服务器](https://www.npmjs.com/package/@elaraai/e3-api-server): 用于 e3 寄存器的 REST API 服务器
    -   [@elaraai/e3-api测试](https://www.npmjs.com/package/@elaraai/e3-api-tests): 共享 API 合规测试套件

## 链接

-   **网站**数字 : [https://elaai.com/ (中文(简体) )](https://elaraai.com/)
-   **东仓库**数字 : [https://github.com/elaraai/east-workspace/tree/main/libs/east 页面存档备份,存于互联网档案馆](https://github.com/elaraai/east-workspace/tree/main/libs/east)
-   **问题**数字 : [https://github.com/elaraai/east-workspace/issues (中文(简体) )](https://github.com/elaraai/east-workspace/issues)
-   **电子邮件**数字 : [支助@elara.ai](mailto:support@elara.ai)

## 关于埃拉拉

东方由 [Elara AI Pty有限公司](https://elaraai.com/)一个由AI驱动的平台 创造经济数字双胞胎 企业优化业绩。 Elara将业务目标、决定和数据结合起来,以帮助各组织在业务、采购、销售和客户参与以及项目和投资规划方面作出由数据驱动的决定。 东能给以埃拉拉解决方案的计算层,使得复杂的商业逻辑和数据能够以简单,类型安全和可移植的语言来表达.

* * *

_开发者 [Elara AI Pty有限公司](https://elaraai.com/)。 。 。 ._

* * *

_开发者 [Elara AI Pty有限公司](https://elaraai.com/)_

## 常见问题

### @elaraai/east-node-cli 是什么？

使用节点运行 East IR 程序的命令行界面

### 如何安装 @elaraai/east-node-cli？

在项目目录运行 npm install @elaraai/east-node-cli，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@elaraai/east（1\.0\.107）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。它还提供命令行工具 east-node，可以用 npx east-node 直接运行。

### @elaraai/east-node-cli 支持 TypeScript 吗？

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

### @elaraai/east-node-cli 支持 ESM 还是 CommonJS？

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

### @elaraai/east-node-cli 需要什么版本的 Node\.js？

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

### @elaraai/east-node-cli 可以商用吗？

@elaraai/east-node-cli 使用 AGPL-3\.0-or-later 许可。最严格的 Copyleft：除分发外，通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括，不构成法律意见，请以许可原文为准。

### @elaraai/east-node-cli 的下载量有多少？

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

### @elaraai/east-node-cli 还在维护吗？

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

