每次新机器都要重新配环境?试试这个 rig
每次新机器都要重新配环境?试试这个 rig
群友最近做了个小工具,专门解决一个很常见、但也挺烦的问题:新机器初始化环境。
只要你经常折腾服务器或者开发机,大概率都经历过这个流程:
装 zsh,配 Oh My Zsh,装 nvm,跑 Docker,补 Git 配置,再把ripgrep、fd、bat、jq、gh 这些常用工具装一遍。
在 Ubuntu 上还算熟练,一旦换到 CentOS、Fedora、Arch,甚至 macOS,包名和安装命令又变了一套。
云服务器、本地开发机、WSL、临时测试机……几乎每台机器都要重新折腾一遍。
如果你也对这种事情有点烦,那可以试试这个项目:rig。
快速开始
交互式 TUI — 选择要安装的组件:
curl -fsSL https://ba.sh/rig | bash# 或: curl -fsSL https://raw.githubusercontent.com/X-Zero-L/rig/master/install.sh | bash通过代理(推荐国内用户):
curl -fsSL https://z.ls/rig | bash -s -- --gh-proxy https://gh-proxy.org# 或: curl -fsSL https://gh-proxy.org/https://raw.githubusercontent.com/X-Zero-L/rig/master/install.sh | bash -s -- --gh-proxy https://gh-proxy.orgrig 能做什么
rig 主要解决的其实就是一件事:把一台新机器常见的开发环境一次性配好。
目前已经内置了十几种常见组件,大致分成几类:
| 类别 | 组件 |
|---|---|
| 基础环境 | zsh、Oh My Zsh、Starship、Tmux、Git、ripgrep、fd、bat、jq、gh |
| 语言运行时 | Node.js(nvm)、Python(uv)、Go(goenv) |
| 基础设施 | Docker、Compose、SSH 加固、Tailscale、Clash |
| AI 编程助手 | Claude Code、Codex CLI、Gemini CLI、Agent Skills |
基本上把开发和运维常用的一些工具都覆盖到了。
为什么不用 Ansible
很多人看到这种项目,第一反应可能是:“那为什么不用 Ansible?”
其实两者解决的不是同一件事。
Ansible 更适合管理大量服务器,比如机房里几十台甚至几百台机器统一编排。
而 rig 的场景更简单一点:
我刚拿到一台新机器,想把自己的开发环境尽快装齐。
跨平台支持
很多脚本都号称“跨平台”,但现实往往是: 作者在 Ubuntu 写完,其他系统只是刚好没报错。
rig 这里其实认真做了一层抽象,大致结构是:
OS 检测 ↓包名映射 ↓包管理器调用简单理解就是:
不同系统的软件包名称差异,由 rig 内部去处理。
例如 fd 这个工具:
- Debian / Ubuntu:
fd-find - Arch Linux:
fd - macOS(Homebrew):
fd
这些差异不需要你自己记,脚本会自动处理。
目前支持的系统包括:
- Debian / Ubuntu
- CentOS / RHEL
- Fedora
- Arch Linux
- macOS
安装完成之后,可以用这个命令查看当前环境状态:
rig status能很直观地看到哪些组件已经安装、版本是否正常。
预设安装模式
如果不想在菜单里一个个勾选组件,rig 也提供了一些预设配置:
minimal:基础 shell + CLI 工具agent:AI 编程工具(Claude / Codex / Gemini)devops:Docker、SSH、Tailscale 这类基础设施fullstack:全部安装
例如只想装 AI 编程相关工具:
rig install --preset agent如果是远程脚本安装,也可以直接指定:
curl -fsSL https://raw.githubusercontent.com/X-Zero-L/rig/master/install.sh | bash -s -- --preset fullstack这样一条命令基本就能把环境拉起来。
环境导出和迁移
执行:
rig export
会生成两个文件:
rig-config.json:保存环境配置secrets.env:保存 API Key 等敏感信息
其中:
rig-config.json可以直接放进 Gitsecrets.env权限默认是600,并自动加入.gitignore
如果以后换机器或者重装系统,只需要:
rig import ~/.rig/rig-config.json很多原本要重新配置的环境就可以直接复用了。
最终效果
如果你装的是一套比较完整的配置,最后得到的大概会是这样一套环境:
zsh+ Oh My Zsh(自动补全、语法高亮、历史搜索)- Starship 统一提示符
- 带主题和导航优化的 Tmux
- 一套现代 CLI 工具链:
rg、fd、bat - 已经配置好的 Docker 环境
- 可直接使用的 AI 编程助手工具
总结
如果你经常要在新机器上重新配置开发环境,这个项目还是挺值得试试的。 有时候装环境本身并不难,但重复做很多次就有点烦了。 如果能把这些事情自动化掉,日常效率确实会轻松不少。

