# 使用 Homebrew, apk, pacman, zypper 安装 wasm-bindgen

查看 wasm-bindgen 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:wasm-bindgen
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install wasm-bindgen
```

  证据: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add wasm-bindgen
```

  证据: Alpine Linux edge package indexes: wasm-bindgen from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- pacman (92%):

```sh
sudo pacman -S wasm-bindgen
```

  证据: Arch Linux sync databases: wasm-bindgen from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install wasm-bindgen
```

  证据: openSUSE Tumbleweed package metadata: wasm-bindgen from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

## 软件包事实

- **软件包键:** brew:wasm-bindgen
- **软件包管理器:** Homebrew
- **版本:** 0.2.126
- **来源摘要:** Facilitating high-level interactions between Wasm modules and JavaScript
- **主页:** <https://wasm-bindgen.github.io/wasm-bindgen/>
- **仓库:** <https://github.com/wasm-bindgen/wasm-bindgen>
- **最后更新:** 2026-06-25T01:43:55Z
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- wasm-bindgen (别名)
- wasm-bindgen-test-runner (别名)
- wasm2es6js (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

- 页面生成时间: 2026-08-03
- 管理器版本: 0.2.126
## 项目历史与用法

wasm-bindgen is the central Rust-to-JavaScript binding generator for WebAssembly. It pairs a Rust crate and procedural macro with a command-line postprocessor that emits JavaScript glue, TypeScript declarations, and a processed `.wasm` artifact so Rust code can interact with richer JavaScript values than core WebAssembly's numeric ABI.

### 项目历史

The wasm-bindgen repository was created on December 18, 2017, during the early Rust and WebAssembly working-group push to make Rust a first-class WebAssembly language. In April 2018, Alex Crichton introduced it on Mozilla Hacks as the bridge that hid the boilerplate needed for strings, exceptions, objects, DOM APIs, and JavaScript imports or exports.

The project was built around the `#[wasm_bindgen]` annotation and a CLI postprocessing step. The design let Rust libraries describe binding metadata in the Wasm output, after which the CLI generated JavaScript wrappers and adjusted imports. Its own guide still describes it as both a Rust library and a CLI for high-level interactions between Wasm modules and JavaScript.

In July 2025, the Rust project announced that the old `rustwasm` GitHub organization would be archived after a long inactive period, but wasm-bindgen would be transferred into a dedicated `wasm-bindgen` organization with additional maintainers. That made wasm-bindgen the survivor of the first Rust/Wasm working-group wave rather than only a historical artifact.

### 采用历史

wasm-bindgen became the base layer for the higher-level Rust/Wasm web workflow. The 2019 Rust and WebAssembly roadmap treated the ecosystem as moving from usable to stable and production-ready, with wasm-pack, testing, profiling, debugging, and library work all depending on reliable JavaScript interop.

Its adoption spread because it matched JavaScript packaging expectations: generated ECMAScript modules, optional TypeScript declarations, browser, bundler, and Node-oriented output targets, and integration through wasm-pack. MDN's Rust-to-Wasm guide still teaches Rust WebAssembly by using wasm-pack and wasm-bindgen together.

### 使用方式

A developer writes Rust functions, structs, imports, or exports annotated with `#[wasm_bindgen]`, compiles the crate for `wasm32-unknown-unknown`, then runs `wasm-bindgen` against the `.wasm` file. The CLI's `--out-dir` and `--target` options control where generated bindings go and whether the output is intended for bundlers, the browser, or Node.js.

For package maintainers, wasm-bindgen is often invisible behind wasm-pack, but it is the piece that decides the JavaScript surface area: it emits the `.js` shim, `.d.ts` declarations, processed Wasm file, imports, exports, and metadata needed by downstream JavaScript tooling.

### 为什么软件包爱好者会关心

wasm-bindgen matters because it turned Rust-generated Wasm from a numeric foreign-function interface into something that could be packaged like JavaScript. It is also a snapshot of WebAssembly ecosystem history: before the component model matures everywhere, it acts as a practical polyfill-like bridge for high-level interop.

### 时间线

- 2017-12-18: Public GitHub repository created.
- 2018-04-04: Mozilla Hacks publishes a detailed wasm-bindgen introduction.
- 2019-01-23: Rust/Wasm roadmap calls for a production-ready, batteries-included ecosystem around the tooling.
- 2025-07-21: Rust announces rustwasm sunsetting and wasm-bindgen transfer to a dedicated organization.
- 2026-06-24: GitHub releases show active 0.2.x releases continuing under the new organization.

### Related projects

- wasm-pack wraps wasm-bindgen for npm-oriented packages. `js-sys`, `web-sys`, and `wasm-bindgen-futures` provide adjacent bindings and async support in the same ecosystem.

### 来源

- <https://api.github.com/repos/wasm-bindgen/wasm-bindgen>
- <https://blog.rust-lang.org/inside-rust/2025/07/21/sunsetting-the-rustwasm-github-org/>
- <https://developer.mozilla.org/en-US/docs/WebAssembly/Guides/Rust_to_Wasm>
- <https://hacks.mozilla.org/2018/04/javascript-to-rust-and-back-again-a-wasm-bindgen-tale/>
- <https://rustwasm.github.io/rfcs/007-2019-roadmap.html>
- <https://wasm-bindgen.github.io/wasm-bindgen/>
- <https://wasm-bindgen.github.io/wasm-bindgen/reference/cli.html>


## 安全说明

narrow executable package without higher-risk signals.

- **Geiger 风险:** 绿色 / 低
- narrow executable package without higher-risk signals

## 其他软件包管理器记录

- apk - wasm-bindgen - 0.2.126-r0: normalized package name match | Alpine Linux edge package indexes: wasm-bindgen from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Interoperating JS and Rust code | https://github.com/rustwasm/wasm-bindgen
- pacman - wasm-bindgen - 0.2.126-1: normalized package name match | Arch Linux sync databases: wasm-bindgen from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Interoperating JS and Rust code | https://github.com/rustwasm/wasm-bindgen
- zypper - wasm-bindgen - 0.2.100-1.5: normalized package name match | openSUSE Tumbleweed package metadata: wasm-bindgen from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Facilitating high-level interactions between Wasm modules and JavaScript | https://github.com/rustwasm/wasm-bindgen


## Combined YAML source

View the package source record on GitHub. [combined/wasm-bindgen.yml](https://github.com/mxcl/pkgdb/blob/main/combined/wasm-bindgen.yml)


## 来源

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
