為你的 macOS 開發環境做好段取り
dandori(段取り)是日本職人文化中的核心概念,意指「在開始工作前做好完美的準備」。就像壽司師傅備料、木工師傅排列工具,我們為你的開發環境做好段取り。
一行指令,自動安裝並設定你的 macOS 開發環境。
- 💡 零設定安裝 - 一行指令完成所有設定
- 🖥️ 正規環境配置 - 使用 Homebrew、mise 標準開發環境設定慣例,易於維護
- 📦 必備開發工具 - Git、Ripgrep、fzf 等開發必備工具
- 🔧 可選擇語言 - 預設安裝常用語言,也可自訂組合
- ♻️ 冪等性 - 重複執行安全,已安裝的工具自動跳過
curl -fsSL https://dandori.phx.tw | bashcurl -fsSL https://dandori.phx.tw | bash -s -- --langs=python,rust,rubycurl -fsSL https://dandori.phx.tw | bash -s -- --interactive- Homebrew - macOS 套件管理器
- Git - 版本控制
- mise - 開發工具版本管理
- ripgrep - 快速文字搜尋
- fzf - 模糊搜尋工具
- fd - 檔案搜尋工具
- uv - Python 專案管理工具
| 選項 | 語言 | 說明 |
|---|---|---|
python |
Python | 最新穩定版 |
elixir |
Elixir + Erlang | 同時安裝對應的 Erlang 版本 |
node |
Node.js + npm | JavaScript 執行環境 |
rust |
Rust + Cargo | |
ruby |
Ruby + gem | |
zig |
Zig | |
swift |
Swift | |
bun |
Bun |
預設組合: python, elixir, node
註:需要其它語言請見 FAQ
# 使用預設語言組合
curl -fsSL https://dandori.phx.tw | bash
# 指定語言(逗號分隔,不含空格)
curl -fsSL https://dandori.phx.tw | bash -s -- --langs=python,rust
# 互動式選擇
curl -fsSL https://dandori.phx.tw | bash -s -- --interactive
# Dry run 模式 (只偵測並列印安裝計劃,不實際執行)
curl -fsSL https://dandori.phx.tw | bash -s -- --dry使用 --interactive 參數時,會顯示選單:
請選擇要安裝的語言環境 (輸入數字組合,例如 134)
直接按 Enter 使用預設: Python, Elixir, Node
1) Python
2) Elixir (同時安裝對應 Erlang 版本)
3) Node
4) Rust
5) Ruby
6) Zig
7) Swift
8) Bun
你的選擇: _
輸入數字組合即可,例如:
- 輸入
134→ 安裝 Python, Node, Rust - 直接按 Enter → 安裝預設組合 (Python, Elixir, Node)
在持續整合環境中使用 --ci 參數跳過所有互動:
./setup.sh --ci
./setup.sh --langs=python,node --ci建議首次使用時先檢視腳本內容:
# 下載腳本
curl -fsSL https://dandori.phx.tw > setup.sh
# 檢視內容
less setup.sh
# 確認無誤後執行
bash setup.sh或直接查看 GitHub 原始碼。
- 檢查 Homebrew - 若未安裝則自動安裝 (可能需要輸入使用者密碼)
- 安裝基礎工具 - 使用 Homebrew 安裝 git, mise, ripgrep, fzf
- 產生 mise 設定 - 建立
~/.config/mise/config.toml - 設定 Shell 整合 - 自動加入
mise activate到你的 shell rc 檔 - 安裝語言環境 - 使用 mise 安裝選定的程式語言
設定檔皆依標準開發者慣例配置
- mise 設定檔:
~/.config/mise/config.toml - 語言安裝目錄:
~/.local/share/mise/installs/ - Shell 設定:
~/.zshrc或~/.bashrc
| 語言組合 | 預估時間(首次) | 說明 |
|---|---|---|
| Python only | ~3 分鐘 | 較輕量 |
| Python + Node | ~5 分鐘 | 常見組合 |
| Python + Elixir + Node | ~20-30 分鐘 | Erlang 需要編譯 |
| All languages | ~25-60 分鐘 | 包含 Rust 編譯 |
💡 提示: Erlang 和 Rust 有可能需要從原始碼編譯,首次安裝較慢。後續版本更新會使用預編譯版本,速度較快。
安裝完成後,你可以使用 mise 管理語言版本:
# 查看已安裝的語言
mise list
# 更新到最新版本
mise upgrade
# 安裝特定版本
mise install python@3.11
# 設定專案特定版本(在專案目錄下)
mise use python@3.11
# 查看 mise 狀態
mise doctor更詳細的操作請參弄 mise 說明
Q: 這個工具可以幫我安裝其它語言嗎?
A: --langs 選項可以安裝 mise 有 支援的所有語言(及工具)。
例如:
curl -fsSL https://dandori.phx.tw | bash -s -- --langs=python,kotlin,clojureQ: 承上,如果我在--langs選項亂加東西會怎樣?
A: 你的電腦不會壞掉,但是如果你受不了 mise 一直抱怨的話,用編輯器打開 ~/.config/mise/config.toml 把看起來不太妙的那(幾)行刪掉。
Q: Windows 可以用嗎?
A: 計劃中
# 檢查網路連線
ping github.com
# 手動安裝 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/setup.sh)"
# 重新執行 dandori
curl -fsSL https://dandori.phx.tw | bash# 查看詳細錯誤訊息
mise install -v
# 檢查系統依賴
mise doctor
# 手動安裝特定語言
mise install python@latest# 確認 mise activate 已設定
grep "mise activate" ~/.zshrc # 或 ~/.bashrc
# 手動載入 mise
eval "$(mise activate zsh)" # 或 bash
# 重新啟動終端機某些操作需要 sudo 權限(例如安裝 Homebrew)。如果遇到權限錯誤:
# 確認你有 admin 權限
groups | grep admin
# 清除 Homebrew cache(如果磁碟空間不足)
brew cleanup歡迎貢獻!請查看 貢獻指南。
# Clone repository
git clone https://github.com/taiansu/dandori.git
cd dandori
# 測試腳本
./setup.sh --langs=python --ci
# 執行測試
# GitHub Actions 會自動測試所有場景專案使用 GitHub Actions 進行自動化測試:
- ✅ 預設安裝測試
- ✅ 自訂語言組合測試
- ✅ 冪等性測試
- ✅ 跨 macOS 版本相容性
查看 .github/workflows/test.yml 了解測試詳情。
MIT License - 詳見 LICENSE
dandori - 為你的開發環境做好段取り 🍽️
Made with ❤️ for developers who value preparation