# 使用 Homebrew, apk, Nix 安装 cargo-chef

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

## 安装

```sh
sudo av install brew:cargo-chef
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install cargo-chef
```

  证据: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add cargo-chef
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#cargo-chef
```

  证据: nixpkgs package indexes: pkgs/by-name/ca/cargo-chef/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## 软件包事实

- **软件包键:** brew:cargo-chef
- **软件包管理器:** Homebrew
- **版本:** 0.1.77
- **来源摘要:** Cargo subcommand to speed up Rust Docker builds using Docker layer caching
- **主页:** <https://github.com/LukeMathWalker/cargo-chef>
- **仓库:** <https://github.com/LukeMathWalker/cargo-chef>
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- cargo-chef (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

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

cargo-chef is a Cargo subcommand for making Rust container builds friendlier to Docker layer caching. It analyzes a project into a dependency recipe, builds that recipe in an earlier image layer, and lets later source-code-only changes reuse the expensive dependency build.

### 项目历史

The project was created by Luca Palmieri in 2020 and its README says it was initially developed for the deployment chapter of Zero to Production in Rust. The upstream repository describes the command as a way to speed up Rust Docker builds using Docker layer caching.

Its design codified a pattern Rust teams were already hand-rolling in Dockerfiles: copy manifests first, build dependencies, then copy application sources. cargo-chef made that approach workspace-aware and less fragile by generating a recipe from Cargo.toml and Cargo.lock inputs.

### 采用历史

cargo-chef spread through Rust backend and CI workflows because Docker build cache misses are especially painful for projects with large dependency graphs. The project publishes a prebuilt Docker image, and the crate has accumulated millions of crates.io downloads, showing adoption beyond a one-off example tool.

Packaging in Homebrew, apk, and Nix reflects its use by developers who want the subcommand available outside pure cargo-install workflows.

### 使用方式

A typical workflow runs `cargo chef prepare --recipe-path recipe.json` after copying the source tree in a planner stage, then `cargo chef cook --release --recipe-path recipe.json` in a builder stage before copying the full application code.

The README emphasizes that the tool is mainly intended for container builds, not normal local development, because it writes the project skeleton needed to cache dependencies.

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

For package managers, cargo-chef is interesting because it turns Cargo metadata into a build-cache artifact. It is a small CLI, but it sits directly at the intersection of Cargo workspaces, lockfiles, reproducible images, and CI build economics.

It is also a recognizable Rust ecosystem answer to the `requirements.txt`-style dependency layer used in other language containers.

### 时间线

- 2020: GitHub repository created and first crates.io release published.
- 2020: README documents its origin in Zero to Production in Rust.
- 2025-2026: Release stream continues through the 0.1.x series, with crates.io showing more than three million downloads by June 2026.

### Related projects

- Cargo is the package manager and build tool that cargo-chef extends.
- Docker and the official Rust container images are the primary environment targeted by the documented workflow.
- Zero to Production in Rust is the book project that originally motivated the tool.

### 来源

- <https://api.github.com/repos/LukeMathWalker/cargo-chef>
- <https://crates.io/api/v1/crates/cargo-chef>
- <https://github.com/LukeMathWalker/cargo-chef#readme>


## 安全说明

narrow executable package without higher-risk signals.

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

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

- Nix - cargo-chef: normalized package name match | nixpkgs package indexes: pkgs/by-name/ca/cargo-chef/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - cargo-chef - 0.1.77-r0: normalized package name match | Alpine Linux edge package indexes: cargo-chef from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A cargo sub-command to build project dependencies for optimal Docker layer caching. | https://github.com/LukeMathWalker/cargo-chef
- apk - cargo-chef-doc - 0.1.77-r0: normalized package name match | Alpine Linux edge package indexes: cargo-chef-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A cargo sub-command to build project dependencies for optimal Docker layer caching. (documentation) | https://github.com/LukeMathWalker/cargo-chef


## 相关链接

- [cargo-chef](https://pkg.so/zh-hans/pkg/cargo/cargo-chef/) - Same normalized package name exists in another local package ecosystem.

## Combined YAML source

View the package source record on GitHub. [combined/cargo-chef.yml](https://github.com/mxcl/pkgdb/blob/main/combined/cargo-chef.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
