Automic VaultAutomic Vault

brew

使用 Homebrew, apk, Nix, pacman 安装 cargo-expand

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

安装

其他安装命令

macOS

Homebrew已验证 · 100%
brew install cargo-expand

local Homebrew formula metadata

Linux

Alpine Linux apk已验证 · 92%
sudo apk add cargo-expand

Alpine Linux edge package indexes · cargo-expand · 来源: dl-cdn.alpinelinux.org

Nix已验证 · 92%
nix profile install nixpkgs#cargo-expand

nixpkgs package indexes · pkgs/by-name/ca/cargo-expand/package.nix · 来源: api.github.com

Arch Linux pacman已验证 · 92%
sudo pacman -S cargo-expand

Arch Linux sync databases · cargo-expand · 来源: geo.mirror.pkgbuild.com

概览

软件包摘要

Show what Rust code looks like with macros expanded

命令和别名

  • cargo-expand

历史

项目历史与用法

cargo-expand is the standard Rust developer tool for seeing macro-expanded code from a Cargo project. It wraps compiler expansion output in an ergonomic Cargo subcommand and formats the result for human inspection.

项目历史

The GitHub repository and crates.io crate were both created in June 2016. The README describes cargo-expand as a wrapper around `cargo rustc --profile=check -- -Zunpretty=expanded`, printing the result of macro expansion and derive expansion for the current crate.

The project was created by David Tolnay, whose broader Rust tooling ecosystem includes heavily used macro and parsing crates. cargo-expand became especially useful as Rust derive macros, procedural macros, and macro-heavy libraries became common in everyday Rust code.

The README includes an explicit disclaimer that macro expansion to text is lossy and intended as a debugging aid, not a promise that the printed code can be compiled or behaves exactly like the original.

采用历史

cargo-expand is widely adopted: it is packaged by Homebrew, Nix, Arch Linux, and Alpine in the supplied facts, and crates.io records millions of downloads. Its GitHub repository also has thousands of stars, strong evidence that it is a mainstream Rust diagnostic tool.

Its adoption tracks the rise of procedural macros and derive-heavy frameworks in Rust. When generated code is hard to reason about, `cargo expand` became the common first tool for understanding what the compiler is seeing.

使用方式

Users run `cargo expand` in a Cargo project to print expanded code. Common variants include expanding a test target, selecting a module or item path, disabling rustfmt with `--ugly`, or using configuration under the `[expand]` section of `$CARGO_HOME/config.toml`.

cargo-expand optionally formats output with rustfmt and can use themes or paging configured in Cargo's user config file, making compiler-oriented output easier to read in terminals.

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

cargo-expand matters because macro expansion is one of Rust packaging's hidden dependency surfaces: derives and procedural macros can add trait impls, bounds, helper items, and code paths that are invisible in source form. Seeing that generated code helps maintainers debug builds, features, and public API behavior.

It is also a classic Cargo-subcommand success story: a thin, focused wrapper around a compiler capability became the community default because it matched how Rust developers actually inspect package code.

时间线

  • 2016: dtolnay/cargo-expand GitHub repository created.
  • 2016: cargo-expand crate first published on crates.io.
  • 2026: crates.io metadata shows active releases in the 1.0.x line.

Related projects

  • rustc provides the underlying macro expansion output exposed by cargo-expand.
  • rustfmt is used to make expanded output more readable when installed.
  • syn is referenced in README screenshots and is part of the wider Rust procedural macro tooling ecosystem.

安全态势

尚未找到受保护工具覆盖

没有找到 cargo-expand 的匹配本地密钥处理 manifest。Nucleus 软件包元数据仍在此发布,以便未来覆盖拥有稳定的软件包 URL。

安装行为

  • formula 元数据中未记录 Homebrew post-install 钩子。
  • Homebrew bottle 元数据适用于 6 个平台目标。
  • 构建元数据列出 1 个构建依赖。

建议审查

在无人值守的代理使用前,请检查该工具是否读取明文凭据、写入远程状态、发布制品或调用插件。

local files

Configuration and credential file locations

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.

Configuration files

Config paths the tool may read or write during local use.

Unix
$CARGO_HOME/config.toml~/.cargo/config.toml

可执行文件

已安装的可执行文件

命令类型暴露范围备注
cargo-expandcli全局可执行文件

新鲜度

版本和新鲜度

这些信号区分页生成时间、软件包管理器活动和上游发布比较。只有存在证据 URL 和可比较版本时,才会提示版本落后。

页面生成时间2026-07-08
管理器版本1.0.123
管理器更新时间2026-06-16
本地数据OK
上游当前
检测到的最新版本1.0.123

https://github.com/dtolnay/cargo-expand

  • OK没有生成新鲜度警告。

安装元数据

软件包元数据

软件包键brew:cargo-expand
版本1.0.123
软件包管理器Homebrew
软件包管理器页面https://formulae.brew.sh/formula/cargo-expand
主页https://github.com/dtolnay/cargo-expand
仓库https://github.com/dtolnay/cargo-expand
上游文档https://github.com/dtolnay/cargo-expand#readme
许可证Apache-2.0 OR MIT
源码归档https://github.com/dtolnay/cargo-expand/archive/refs/tags/1.0.123.tar.gz
最后更新2026-06-16T20:12:02Z
Pulseupdated
构建依赖rust
Bottle可用 (于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-install未定义
服务未声明

注册表事实

源数据库详情

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namecargo-expand
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

源数据库匹配

其他软件包管理器记录

匹配项来自外部软件包管理器索引,并与本地 Automic Vault 软件包链接分开显示。

Nix95%

cargo-expand

nix profile install nixpkgs#cargo-expand
  • normalized package name match
  • 匹配方式:Cargo Expand
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ca/cargo-expand/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
apk95%

cargo-expand 1.0.122-r0

Cargo subcommand to show result of macro expansion

https://github.com/dtolnay/cargo-expand

sudo apk add cargo-expand
  • License: MIT OR Apache-2.0
  • Architecture: x86_64
  • Source Package: cargo-expand
  • 1 依赖
  • 1 提供
  • normalized package name match
  • 匹配方式:Cargo Expand
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: cargo-expand from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

cargo-expand-doc 1.0.122-r0

Cargo subcommand to show result of macro expansion (documentation)

https://github.com/dtolnay/cargo-expand

sudo apk add cargo-expand-doc
  • License: MIT OR Apache-2.0
  • Architecture: x86_64
  • Source Package: cargo-expand
  • normalized package name match
  • 匹配方式:Cargo Expand
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: cargo-expand-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
pacman95%

cargo-expand 1.0.122-1

Subcommand to show result of macro expansion

https://github.com/dtolnay/cargo-expand

sudo pacman -S cargo-expand
  • License: MIT AND Apache-2.0
  • Architecture: x86_64
  • 3 依赖
  • normalized package name match
  • 匹配方式:Cargo Expand
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: cargo-expand from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

来源线索

由仓库数据生成

此页面由 av-webscripts/generate-pkg-sqlite.py 生成的私有软件包 SQLite 工件提供。

使用的来源

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment