macOS
brew install cargo-componentlocal Homebrew formula metadata
brew
Create WebAssembly components based on the component model proposal. Version 0.21.1 via Homebrew; verified from local package data.
install
brew install cargo-componentlocal Homebrew formula metadata
nix profile install nixpkgs#cargo-componentnixpkgs package indexes · pkgs/by-name/ca/cargo-component/package.nix · source: api.github.com
overview
Create WebAssembly components based on the component model proposal
history
cargo-component is a Bytecode Alliance Cargo subcommand for creating WebAssembly components from Rust projects. It exists to bridge Cargo workflows with the WebAssembly component model, WIT interfaces, generated bindings, and component dependencies.
The repository was created in 2022 under the Bytecode Alliance. Its README describes cargo-component as an experimental attempt to imagine what first-class Rust support for WebAssembly components might look like before Cargo itself has native component-model support.
The project grew alongside Bytecode Alliance work on the WebAssembly component model, wit-bindgen, Wasmtime, and WASI Preview 2. It uses Cargo.toml metadata and generates Rust bindings so component interfaces can be used in a Cargo-like development loop.
Adoption has followed the WebAssembly component-model community rather than general Rust CLI usage. crates.io metadata shows hundreds of thousands of downloads by June 2026, and Homebrew and Nix packaging make it easier to install for component-model experiments and CI builds.
The README notes that Rust's upstream wasm32-wasip2 target now produces components for some WASI use cases, leaving cargo-component most relevant where projects need non-WASI WIT interfaces, component dependencies, or features not yet covered by plain Cargo.
The documented flow starts with `cargo component new --lib <name>` or a command component, creates a `wit/world.wit` interface, implements generated bindings in Rust, and builds with `cargo component build`.
The tool can also add and update component interface dependencies through Cargo.toml, and it supports adapter configuration in `[package.metadata.component]` for WASI Preview 1 to Preview 2 adaptation.
cargo-component is significant because it treats WebAssembly components as packageable dependencies inside Cargo projects. For package ecosystem watchers, it is a live example of how Rust's package manager might evolve when language packages and portable component interfaces meet.
It also marks a transitional period: component-model tooling is moving quickly, and the README explicitly frames cargo-component as useful until more support lands in the Rust compiler and Cargo.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
Cargo.toml.vscode/settings.jsonexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
cargo-component | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/bytecodealliance/cargo-component
install metadata
| Package key | brew:cargo-component |
|---|---|
| Version | 0.21.1 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/cargo-component |
| Homepage | https://github.com/bytecodealliance/cargo-component |
| Repository | https://github.com/bytecodealliance/cargo-component |
| Upstream docs | https://github.com/bytecodealliance/cargo-component#readme |
| License | Apache-2.0 |
| Source archive | https://github.com/bytecodealliance/cargo-component/archive/refs/tags/v0.21.1.tar.gz |
| Build dependencies | rust |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | cargo-component |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
cargo-component
nix profile install nixpkgs#cargo-componentsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.