Pixiv - KiraraShss
916 字
5 分钟
macOS 终极开发环境配置指南 (2026 版)
🚀 macOS 终极开发环境配置指南 (2026 版)
这篇博客记录了我基于 Zsh + Oh My Zsh + Mise + Starship 构建的开发环境。核心思路是:工具现代化、路径去重、环境隔离、加载提速。
1. 核心工具链安装清单
在配置 .zshrc 之前,确保以下基础工具已安装:
-
包管理: Homebrew
-
终端框架: Oh My Zsh
-
现代 CLI 替代品:
-
eza:ls的增强版(带图标和 Git 状态) -
bat:cat的增强版(带语法高亮) -
starship: 极速、跨 shell 的提示符 -
多版本管理:
-
mise: 替代 nvm/rvm/asdf,统一管理 Node/Java/Bun/Go -
miniconda: 负责 Python 科学计算环境
2. 核心配置文件 .zshrc 详解
这是整个环境的大脑。建议直接覆盖 ~/.zshrc。
💾 完整配置代码备份
# ==============================================================================# 1. 核心环境变量 & 基础路径# ==============================================================================export ZSH="$HOME/.oh-my-zsh"export LANG="en_US.UTF-8"
# 优雅地构造 PATH: 自动去重并设定优先级 (用户自定义 > Homebrew > 系统)typeset -U pathpath=( /opt/homebrew/bin /usr/local/bin $HOME/Documents/flutter/bin $HOME/Documents/android/emulator $HOME/Documents/android/platform-tools $HOME/Documents/android/tools/bin "/Applications/Visual Studio Code.app/Contents/Resources/app/bin" $HOME/.claude/bin $HOME/.antigravity/antigravity/bin $path)
# ==============================================================================# 2. 框架与插件加载 (Oh My Zsh)# ==============================================================================plugins=( git zsh-autosuggestions zsh-completions zsh-syntax-highlighting zsh-z)
# 补全增强 (Docker 等)fpath=($HOME/.docker/completions $fpath)
source $ZSH/oh-my-zsh.sh
# ==============================================================================# 3. 开发套件配置 (Flutter, Android, AI)# ==============================================================================# 镜像加速 (中科大源)export HOMEBREW_API_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles/api"export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles"export PUB_HOSTED_URL=https://pub.flutter-io.cnexport FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
# 环境变量设置export ANDROID_HOME=$HOME/Documents/androidlaunchctl setenv OLLAMA_ORIGINS "*"
# ==============================================================================# 4. 高频效率工具 (Aliases & Functions)# ==============================================================================
# --- 网络代理一键切换 ---p() { export http_proxy=http://127.0.0.1:7890 export https_proxy=$http_proxy export all_proxy=socks5://127.0.0.1:7890 echo "🚀 Proxy ON (7890)"}dp() { unset http_proxy https_proxy all_proxy echo "🛑 Proxy OFF"}
# --- 端口杀手 ---# 使用方法:kp 3000 (快速关闭占用 3000 端口的进程)kp() { lsof -iTCP:$1 -sTCP:LISTEN -t | xargs -r kill -9; }
# --- 现代 CLI 别名 ---if command -v eza > /dev/null; then alias ls='eza --icons --group-directories-first' alias ll='eza -lh --icons --git --group-directories-first --time-style=long-iso' alias la='eza -a --icons --git --group-directories-first' alias lt='eza --tree --level=2 --icons'fi
if command -v bat > /dev/null; then alias cat='bat --style=header,grid,numbers' alias b='bat' export MANPAGER="sh -c 'col -bx | bat -l man -p'"fi
# ==============================================================================# 5. 运行时管理 (Mise, Conda, Direnv)# ==============================================================================
# Conda 初始化 (按需加载)[ -f "/opt/homebrew/Caskroom/miniconda/base/bin/conda" ] && eval "$('/opt/homebrew/Caskroom/miniconda/base/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
# Mise (管理 Node, Java, Bun 等)if command -v mise > /dev/null; then eval "$(mise activate zsh)" # 快速切版本别名 alias j8="mise shell java@zulu-8"; alias j17="mise shell java@temurin-17" alias n18="mise shell node@18"; alias n20="mise shell node@20"fi
# Direnv (进入目录自动切换环境变量)command -v direnv > /dev/null && eval "$(direnv hook zsh)"
# ==============================================================================# 6. 提示符 (Starship) - 必须放在最后# ==============================================================================command -v starship > /dev/null && eval "$(starship init zsh)"3. 配置亮点说明
🛡️ typeset -U path 的魔力
这是 Zsh 的高级特性。它会将 PATH 标记为唯一值数组。这意味着无论你执行多少次 source ~/.zshrc,你的环境变量中都不会出现重复的路径条目,有效避免了路径冗余导致的查找变慢。
🛠️ Mise: 一个顶五个
我抛弃了 nvm 和 jenv。Mise 是 Rust 写的,加载速度极快。
- 通过
mise install node@20安装。 - 通过项目根目录的
.mise.toml自动切换版本。 - 配置中预留了
j8、n20等别名,用于临时覆盖当前 Shell 版本。
🎨 现代感十足的 UI
- Starship: 提供了极简且包含所有关键信息(Git 分支、执行时间、环境版本)的状态栏。
- eza & bat: 让文件列表和内容查看不再枯燥,彩色图标和语法高亮让 Debug 效率倍增。
🧹 端口杀手 kp
这是开发者的刚需。当你启动项目发现 Port 3000 is already in use 时,只需输入 kp 3000,剩下的交给脚本。
4. 如何在新机上快速恢复?
- 安装 Homebrew。
brew install oh-my-zsh mise starship eza bat direnv miniconda。- 将上述代码贴入
~/.zshrc。 - 安装 zsh 插件:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestionsgit clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting- 执行
source ~/.zshrc。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
macOS 终极开发环境配置指南 (2026 版)
https://blog.hypoy.cn/posts/macos/modern-macos-dev-stack-the-2026-edition/