---
title: "用 Brew Bundle 恢复开发机常用包：Brewfile 怎么写、怎么确认 - Angryecho"
description: "准备工作 macOS 已安装 Homebrew，brew --version 可用。 步骤依据 Homebrew 文档 Manpage 中与 bundle 相关说明，核实日期 2026-10-24；以你本机 brew bundle --help 为准。["
canonical_url: "https://www.angryecho.com/c/du_li_kai_fa/p/P2TBBjffV7EupkPdIdBP5"
meta:
  "og:description": "准备工作 macOS 已安装 Homebrew，brew --version 可用。 步骤依据 Homebrew 文档 Manpage 中与 bundle 相关说明，核实日期 2026-10-24；以你本机 brew bundle --help 为准。["
  "og:image": "https://www.angryecho.com/_og/d/c_Post%2Ctitle_~5ZCQ5qe9572R%2Cdescription_~5ZCQ5qe95LiA5LiL77yM5bCx5LiK5ZCQ5qe9572R44CC%2CpostId_P2TBBjffV7EupkPdIdBP5%2Crevision_~MjAyNi0xMC0zMFQwMjo1NTo1OS4xNDkwNzZa%2Cp_Ii9jL2R1X2xpX2thaV9mYS9wL1AyVEJCamZmVjdFdXBrUGRJZEJQNSI%2Cs_JTS60p29EWvpZH9G.png"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "用 Brew Bundle 恢复开发机常用包：Brewfile 怎么写、怎么确认"
---

> Index of every page on this site: [llms.txt](https://www.angryecho.com/llms.txt)

# **用 Brew Bundle 恢复开发机常用包：Brewfile 怎么写、怎么确认**

## 准备工作

- macOS 已安装 Homebrew， `brew --version` 可用。
- 步骤依据 Homebrew 文档 Manpage 中与 `bundle` 相关说明，核实日期 2026-10-24；以你本机 `brew bundle --help` 为准。\[1]

## 操作步骤

### 1、在项目或家目录创建 Brewfile

做什么：新建 `Brewfile`，写入例如：

```ruby
brew "git"
brew "jq"
cask "visual-studio-code"
```

为什么：Brewfile 用声明式列出 formulae/casks，便于新机器或同事环境复现。文档将 bundle 作为批量安装入口。\[1]

怎么确认：文件存在且 Ruby DSL 语法无引号错误；`cat Brewfile` 能看到条目。

### 2、执行安装

做什么：在 Brewfile 所在目录运行 `brew bundle`

为什么：`brew bundle` 读取 Brewfile 并安装缺失依赖，已安装的通常跳过。\[1]

怎么确认：命令结束退出码 0；`brew list --formula | grep jq`（示例）能看到对应包；cask 用 `brew list --cask` 核对。

### 3、检查差异（可选）

做什么：`brew bundle check`

为什么：只验证当前系统是否满足 Brewfile，不立刻安装，适合 CI 或点检。\[1]

怎么确认：已满足时提示满足；缺少依赖时列出缺失项，此时再跑 `brew bundle`。

### 4、从本机生成 Brewfile（可选）

做什么：`brew bundle dump --describe`（具体开关以 `--help` 为准）

为什么：先从现有机器导出，再删掉不需要的条目，比空手写更快。\[1]

怎么确认：生成 Brewfile 后打开检查，去掉隐私相关或过重的 cask，再提交到点仓库。

## 注意事项

- 公司机器可能限制 cask 来源；失败时先看是否被 MDM/代理拦截。
- 不要把含内网 exclusive tap 凭证的 Brewfile 推进公开仓库。

## 来源

> \[1] Homebrew Docs · Manpage / bundle · https://docs.brew.sh/Manpage · 核实于 2026-10-24

#Homebrew #Brewfile #教程 #独立开发 #macOS

排序方式 :

### **成为第一条评论！**

Nobody's responded to this post yet. Add your thoughts and get the conversation going.

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://www.angryecho.com/c/du_li_kai_fa/p/P2TBBjffV7EupkPdIdBP5#post","@type":"DiscussionForumPosting","commentCount":0,"dateModified":"2026-10-30T02:55:59.149Z","datePublished":"2026-10-24T04:00:00.000Z","description":"准备工作 macOS 已安装 Homebrew，brew --version 可用。 步骤依据 Homebrew 文档 Manpage 中与 bundle 相关说明，核实日期 2026-10-24；以你本机 brew bundle --help 为准。[","headline":"用 Brew Bundle 恢复开发机常用包：Brewfile 怎么写、怎么确认","isPartOf":"https://www.angryecho.com/c/du_li_kai_fa","mainEntityOfPage":"https://www.angryecho.com/c/du_li_kai_fa/p/P2TBBjffV7EupkPdIdBP5","text":"准备工作\n\n\n\n\n\nmacOS 已安装 Homebrew，brew --version 可用。\n\n\n\n步骤依据 Homebrew 文档 Manpage 中与 bundle 相关说明，核实日期 2026-10-24；以你本机 brew bundle --help 为准。[1]\n\n操作步骤\n\n1、在项目或家目录创建 Brewfile\n\n做什么：新建 Brewfile，写入例如：\n\nbrew \"git\"\nbrew \"jq\"\ncask \"visual-studio-code\"\n\n为什么：Brewfile 用声明式列出 formulae/casks，便于新机器或同事环境复现。文档将 bundle 作为批量安装入口。[1]\n\n怎么确认：文件存在且 Ruby DSL 语法无引号错误；cat Brewfile 能看到条目。\n\n2、执行安装\n\n做什么：在 Brewfile 所在目录运行 brew bundle\n\n为什么：brew bundle 读取 Brewfile 并安装缺失依赖，已安装的通常跳过。[1]\n\n怎么确认：命令结束退出码 0；brew list --formula | grep jq（示例）能看到对应包；cask 用 brew list --cask 核对。\n\n3、检查差异（可选）\n\n做什么：brew bundle check\n\n为什么：只验证当前系统是否满足 Brewfile，不立刻安装，适合 CI 或点检。[1]\n\n怎么确认：已满足时提示满足；缺少依赖时列出缺失项，此时再跑 brew bundle。\n\n4、从本机生成 Brewfile（可选）\n\n做什么：brew bundle dump --describe（具体开关以 --help 为准）\n\n为什么：先从现有机器导出，再删掉不需要的条目，比空手写更快。[1]\n\n怎么确认：生成 Brewfile 后打开检查，去掉隐私相关或过重的 cask，再提交到点仓库。\n\n注意事项\n\n\n\n\n\n公司机器可能限制 cask 来源；失败时先看是否被 MDM/代理拦截。\n\n\n\n不要把含内网 exclusive tap 凭证的 Brewfile 推进公开仓库。\n\n来源\n\n\n\n[1] Homebrew Docs · Manpage / bundle · https://docs.brew.sh/Manpage · 核实于 2026-10-24\n\n#Homebrew #Brewfile #教程 #独立开发 #macOS","url":"https://www.angryecho.com/c/du_li_kai_fa/p/P2TBBjffV7EupkPdIdBP5","author":{"@type":"Person","name":"UID:39516009","url":"https://www.angryecho.com/u/NGA39516009"},"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/DislikeAction","userInteractionCount":0},{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":1},{"@type":"InteractionCounter","interactionType":"https://schema.org/ShareAction","userInteractionCount":0}]}]}
```

## Sitemap

See the full [sitemap](https://www.angryecho.com/sitemap.md) for all pages.
