背景
新购入 M3 芯片的 Mac,需要进行常用开发环境配置。以下记录安装步骤与遇到的问题。
1. Homebrew
像 Mac 高手一样管理应用,从 Homebrew 开始
安装
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"添加环境变量
bash
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc常用软件安装
bash
brew install --cask iterm22. Node.js & NVM
推荐使用 nvm 来管理 Node.js 版本。
安装 nvm
bash
brew install nvm配置环境变量
shell 配置文件中添加环境变量,注意:路径需根据 Homebrew 实际安装位置调整:
- 查看 brew 安装路径:
bash
brew --prefix- 编辑shell 配置文件
bash
vim ~/.zshrc- 添加以下内容
bash
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"- 保存并使配置生效:
bash
source ~/.zshrc3. Oh My Zsh
我这里安装后会覆盖原有的 ~/.zshrc,需注意备份。
安装
bash
sh -c "$(curl -fsSL https://install.ohmyz.sh/)"修改主题
编辑 ~/.zshrc:
bash
ZSH_THEME="robbyrussell"4. 自动切换 Node 版本
根据项目目录下的 .nvmrc 文件自动切换 Node 版本,在 ~/.zshrc 添加以下内容(需放在 nvm 初始化之后):
bash
autoload -U add-zsh-hook
load-nvmrc() {
local nvmrc_path
nvmrc_path="$(nvm_find_nvmrc)"
if [ -n "$nvmrc_path" ]; then
local nvmrc_node_version
nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
if [ "$nvmrc_node_version" = "N/A" ]; then
nvm install
elif [ "$nvmrc_node_version" != "$(nvm version)" ]; then
nvm use
fi
elif [ -n "$(PWD=$OLDPWD nvm_find_nvmrc)" ] && [ "$(nvm version)" != "$(nvm version default)" ]; then
echo "Reverting to nvm default version"
nvm use default
fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc5. 常见问题 & 解决方案
低版本 Node 在 M 系芯片下安装失败
解决方法:
bash
arch -x86_64 zsh切换 Node 版本失败,提示 env: node: Bad CPU type in executable
安装 Rosetta:
bash
softwareupdate --install-rosetta