# mac-environment **Repository Path**: ConnerClem/mac-environment ## Basic Information - **Project Name**: mac-environment - **Description**: Mac电脑,M系列芯片快速搭建基础环境 - **Primary Language**: Shell - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-03 - **Last Updated**: 2026-06-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mac-environment 在 Mac(Apple Silicon / Intel)上一键搭建日常开发基础环境: **Homebrew → oh-my-zsh → pyenv → Vim → Lima(PostgreSQL + Redis)** 本仓库将 [doc/](doc/) 目录下四篇手动教程自动化为脚本;需要了解原理或排错时,请查阅对应文档。 --- ## 特性 - **一条命令安装**:类似 Homebrew 国内安装脚本,curl 即可拉取并执行 - **模块化**:各步骤可单独跳过(`--skip-lima`、`--skip-vim` 等) - **幂等**:已安装的 Homebrew、oh-my-zsh 等会自动跳过;配置文件会先备份再覆盖 - **Python 仅装到 pyenv**:默认安装 `3.13.3`,项目内自行 `python -m venv .venv` - **Lima 内置数据库**:Ubuntu 24.04 虚拟机内配置好 PostgreSQL + Redis,Mac 本机 `127.0.0.1` 直连 --- ## 前置条件 - macOS(Apple Silicon 或 Intel) - 可访问 Gitee / GitHub 的网络(首次安装需下载较多内容) - 磁盘空间建议 ≥ 20 GB(含 Lima 镜像与 pyenv 编译) --- ## 一键安装 > **不要用 `sudo`!** Homebrew 禁止以 root 安装;全程用**普通用户**在终端执行即可。 > **必须是 Mac 管理员账号**(标准用户不行)。安装 Homebrew 时会提示输入**本机登录密码**,那是正常 sudo,不是让你给整条命令加 `sudo`。 在新 Mac 终端执行(**请整行复制,不要从脚本文件里复制**): ```bash curl -fsSL https://gitee.com/ConnerClem/mac-environment/raw/master/install.sh -o /tmp/mac-env-install.sh && bash /tmp/mac-env-install.sh ``` 或使用管道(脚本会自动转为临时文件以支持输入密码): ```bash /bin/zsh -c "curl -fsSL https://gitee.com/ConnerClem/mac-environment/raw/master/install.sh | bash" ``` **国内 Homebrew 镜像:** ```bash curl -fsSL https://gitee.com/ConnerClem/mac-environment/raw/master/install.sh -o /tmp/mac-env-install.sh && bash /tmp/mac-env-install.sh --cn-mirror ``` **跳过 Lima(只要 Shell / Python / Vim):** ```bash curl -fsSL https://gitee.com/ConnerClem/mac-environment/raw/master/install.sh -o /tmp/mac-env-install.sh && bash /tmp/mac-env-install.sh --skip-lima ``` --- ## 本地克隆后安装 ```bash git clone https://gitee.com/ConnerClem/mac-environment.git cd mac-environment chmod +x install.sh scripts/*.sh config/lima/*.sh ./install.sh ``` --- ## 安装步骤 | 步骤 | 脚本 | 说明 | 详细文档 | | --- | ----------------- | --------------------------------------- | -------------------------------------------------- | | 1 | `01-homebrew.sh` | Homebrew、git、curl、Xcode CLT | [Mac安装oh-my-zsh.md](doc/Mac安装oh-my-zsh.md) | | 2 | `02-oh-my-zsh.sh` | oh-my-zsh、`config/zshrc`、autojump/broot/fortune 等、zsh 插件 | 同上 | | 3 | `03-pyenv.sh` | pyenv + Python(默认 `3.13.3`) | [Mac-Python虚拟环境搭建教程.md](doc/Mac-Python虚拟环境搭建教程.md) | | 4 | `04-vim.sh` | Vim、vim-plug、`:PlugInstall` | [vim配置.md](doc/vim配置.md) | | 5 | `05-lima.sh` | Lima VM + PostgreSQL + Redis | [Mac上使用Lima.md](doc/Mac上使用Lima.md) | --- ## 命令行参数 ```bash ./install.sh --help # 查看全部选项 ./install.sh --cn-mirror # Homebrew 使用国内镜像脚本 ./install.sh --skip-homebrew # 跳过 Homebrew(需已安装) ./install.sh --skip-zsh # 跳过 oh-my-zsh ./install.sh --skip-pyenv # 跳过 pyenv / Python ./install.sh --skip-vim # 跳过 Vim ./install.sh --skip-lima # 跳过 Lima 数据库虚拟机 ./install.sh --python=3.12.8 # 指定 pyenv 安装的 Python 版本 ./install.sh --lima-instance=dev-db # Lima 实例名(默认 dev-db) ./install.sh --pg-password=secret # PostgreSQL `postgres` 用户密码 ./install.sh --redis-password=secret # Redis `requirepass`(留空则不设密码) ``` --- ## 安装完成后 1. **加载 Shell 配置** `source ~/.zshrc` 或重新打开终端。 2. **Python** ```bash pyenv versions cd ~/Projects/my-app python -m venv .venv --upgrade-deps source .venv/bin/activate pip install -r requirements.txt # 如有 ``` 3. **数据库(Lima)** ```bash cat ~/.mac-environment-lima-credentials # 连接信息 psql -h 127.0.0.1 -U postgres -d postgres redis-cli -h 127.0.0.1 ping limactl shell dev-db # 进入虚拟机 ``` 4. **Vim** 若插件未装全,在 Vim 中执行 `:PlugInstall`。 --- ## 目录结构 ``` mac-environment/ ├── install.sh # curl 一键入口 ├── scripts/ │ ├── setup-all.sh # 总控脚本 │ ├── lib/common.sh # 公共函数与参数解析 │ ├── 01-homebrew.sh │ ├── 02-oh-my-zsh.sh │ ├── 02b-zsh-tools.sh │ ├── 03-pyenv.sh │ ├── 04-vim.sh │ └── 05-lima.sh ├── config/ │ ├── zshrc # oh-my-zsh 配置(与 doc 同步) │ ├── vimrc # Vim 配置 │ └── lima/ # Lima YAML 与 VM 内数据库脚本 └── doc/ # 详细教程与排错说明 ``` --- ## 环境变量(可选) | 变量 | 说明 | 默认值 | | ------------------------ | --------------- | -------------------------------------------- | | `MAC_ENV_REPO` | Git 仓库地址 | `https://gitee.com/ConnerClem/mac-environment.git` | | `MAC_ENV_INSTALL_DIR` | curl 安装时的克隆目录 | `~/.mac-environment` | | `MAC_ENV_PYTHON_VERSION` | pyenv Python 版本 | `3.13.3` | | `MAC_ENV_PG_PASSWORD` | PostgreSQL 密码 | `postgres` | | `MAC_ENV_REDIS_PASSWORD` | Redis 密码 | (空,不设密码) | --- ## 常见问题 **安装很慢?** pyenv 首次编译 Python、Lima 首次下载 Ubuntu 云镜像均较耗时,属正常现象。 **Lima 启动失败?** 可查阅 [Mac上使用Lima.md](doc/Mac上使用Lima.md) 中 nerdctl 网络问题;或先 `./install.sh --skip-lima`,之后再单独跑 `scripts/05-lima.sh`。 **只想更新 zshrc / vimrc?** 修改 `config/` 下文件后,重新执行对应步骤脚本,或手动复制到 `~/`。 **Homebrew 报「stdin is not a TTY / non-interactive mode」?** 不要用残缺或错误的 curl 命令。请完整复制上面的安装命令;推荐使用 `curl ... -o /tmp/mac-env-install.sh && bash ...` 方式。 **Homebrew 报「Need sudo access / needs to be an Administrator」?** 1. 确认当前账号是**管理员**(系统设置 → 用户与群组)。 2. **不要**在整条命令前加 `sudo`。 3. 安装过程中按提示输入**登录密码**。 4. 国内网络建议加 `--cn-mirror`(见上文国内镜像命令)。 **Homebrew 报「不要以 root 身份运行」?** 说明用了 `sudo`。请**不要**加 sudo,用普通用户重新执行一键命令。 **oh-my-zsh / vim-plug 下载失败?** 国内网络可能无法访问 GitHub;oh-my-zsh 已内置 Gitee 镜像回退,vim-plug 失败可在网络恢复后重跑 `scripts/04-vim.sh`。 --- ## 许可证 见 [LICENSE](LICENSE)