# @cloudflare/workers-wasi 中文文档

规范地址：https://npmcn.com/package/%40cloudflare/workers-wasi/

版本：0\.0\.5
npm 元数据更新时间：2026-09-03T14:21:57.260Z
中文译文更新时间：2026-11-10T03:13:58.471Z
软件包许可：BSD-3-Clause

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

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

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

- 包体积（解压后）：246 kB，20 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2021-12-14T16:32:51.835Z
- 最新版本发布：2022-02-07T18:05:03.027Z
- 近 30 天下载量：14463（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 0 个）

## 中文简介

### _进行中的工作_

## 安装

```sh
npm install @cloudflare/workers-wasi
```

也可以使用：`pnpm add @cloudflare/workers-wasi`、`yarn add @cloudflare/workers-wasi`、`bun add @cloudflare/workers-wasi`

## README

# 劳工

### _进行中的工作_

为运行而设计的WebAssembly系统接口的实验性实施 [云花岗工人](https://workers.cloudflare.com/)

## 使用量

```typescript
import { WASI } from '@cloudflare/workers-wasi';
import mywasm from './mywasm.wasm';

const wasi = new WASI();
const instance = new WebAssembly.Instance(mywasm, {
   wasi_snapshot_preview1: wasi.wasiImport
});

await wasi.start(instance);
```

## 发展

安装 [锈](https://www.rust-lang.org/tools/install) 财务报告和审定财务报表 [数字](https://github.com/nvm-sh/nvm) 然后运行

```
nvm use --lts
```

构建和测试

```
git clone --recursive git@github.com:cloudflare/workers-wasi.git
cd ./workers-wasi
make -j test
```

## 用 Docker 构建

```
git clone --recursive git@github.com:cloudflare/workers-wasi.git
cd ./workers-wasi
cat ./Dockerfile | docker build -t workers-wasi-build -
docker run --rm -it -v $(pwd):/workers-wasi workers-wasi-build
```

## 测试

我们的目标是与其他WASI执行方案互换。 整合测试在当地使用 [迷你灯](https://github.com/cloudflare/miniflare) 对照下列测试套房:

-   [x] `(52/52)` [https://github.com/caspervonb/wasi-test-site -- -- 套房 互联网档案馆的存檔,存档日期2013-12-21](https://github.com/caspervonb/wasi-test-suite)
-   [ ] `(28/42)` [https://github.com/bytecodealliance/wasmtime/tree/main/crates/test-programs/wasi-tests 页面存档备份,存于互联网档案馆 (简体中文)](https://github.com/bytecodealliance/wasmtime/tree/main/crates/test-programs/wasi-tests)

## 页:1

以电子文件系统执行为基础 [小费](https://github.com/littlefs-project/littlefs) 包含. 软链接和硬链接都尚未得到支持.

以下调用尚未支持并返回 `ENOSYS`

-   `fd_readdir`
-   `path_link`
-   `path_readlink`
-   `path_symlink`
-   `poll_oneoff`
-   `sock_recv`
-   `sock_send`
-   `sock_shutdown`

时间戳是使用 `Date.now()` 它已经 [独一无二的行为](https://developers.cloudflare.com/workers/runtime-apis/web-standards#javascript-standards) 在工人平台 [安全原因](https://blog.cloudflare.com/mitigating-spectre-and-other-security-threats-the-cloudflare-workers-security-model/)这影响到执行

-   `clock_res_get`
-   `clock_time_get`
-   `fd_filestat_set_times`
-   `path_filestat_set_times`

## TODO( 移动)

杂项任务 :

-   [ ] path rename( 更新已打开的 fds 的旧路径)
-   [ ] 固定预打开接口( 使用对象), 并更新选项 docs
-   [ ] 文档中节点选项和我们选项的相差( 流/ fs)
-   [ ] fd 关闭(stdio)
-   [ ] fd 重数(stdio)
-   [ ] fd read/fd write 与重新编号的 stdio 无效
-   [ ] 适当更新文件时间戳

## 常见问题

### @cloudflare/workers-wasi 是什么？

进行中的工作

### 如何安装 @cloudflare/workers-wasi？

在项目目录运行 npm install @cloudflare/workers-wasi，或使用 pnpm add / yarn add / bun add。

### @cloudflare/workers-wasi 支持 TypeScript 吗？

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

### @cloudflare/workers-wasi 支持 ESM 还是 CommonJS？

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

### @cloudflare/workers-wasi 可以商用吗？

@cloudflare/workers-wasi 使用 BSD-3-Clause 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。另外不得用原作者名义为衍生产品背书。以上为概括，不构成法律意见，请以许可原文为准。

### @cloudflare/workers-wasi 的下载量有多少？

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

### @cloudflare/workers-wasi 还在维护吗？

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

