应使用官方 phar 脚本安装 composer:先通过 homebrew 安装 php(≥8.1),再执行 curl 安装 composer.phar 并移至 /opt/homebrew/bin/composer(apple silicon)或 /usr/local/bin/composer(intel),赋权后配置镜像源并运行 composer self-update。

别用 brew install composer —— 这个命令在 2026 年的 macOS(尤其是 Apple Silicon)上大概率失败、卡版本、或装完找不到命令。 Homebrew 社区已于 2023 年弃用该包,当前稳定路径是:先用 Homebrew 装好 PHP,再用官方脚本生成 composer.phar,手动部署到正确路径并赋权。
确认 Homebrew 和 PHP 已就位且路径正确
Composer 是 PHP 写的,没可用的 CLI PHP,它根本起不来。macOS 12+ 已移除系统 PHP,/usr/bin/php 是空壳或过旧(如 PHP 8.0),不满足 Composer 2.5+ 要求(需 ≥ 8.1)。
- 运行
which brew:Apple Silicon 必须输出/opt/homebrew/bin/brew;若为/usr/local/bin/brew,说明装错架构,需彻底卸载重装 - 运行
brew install php(自动启用phar扩展) - 验证:
php -v应输出 ≥ 8.1 的版本;which php必须是/opt/homebrew/bin/php(M 系列)或/usr/local/bin/php(Intel) - 若
php命令报错,检查~/.zshrc或~/.zprofile是否已执行eval "$(/opt/homebrew/bin/brew shellenv)"(推荐方式),而不是手写PATH=行
用官方脚本安装 composer.phar 并部署到系统路径
Homebrew 的 composer 包已废弃,官方唯一推荐安装方式是下载 PHAR 并手动部署——确保版本新、ARM64 兼容、绑定你刚装的 PHP。
- 执行
curl -sS https://getcomposer.org/installer | php,当前目录生成composer.phar - M1/M2 用户:运行
sudo mv composer.phar /opt/homebrew/bin/composer - Intel 用户:运行
sudo mv composer.phar /usr/local/bin/composer - 立刻赋权:
sudo chmod +x /opt/homebrew/bin/composer(路径必须与上一步一致,缺这步必报Permission denied) - 验证:
composer --version应输出类似Composer version 2.7.7
PATH 没生效?不是没装,是 shell 没读到
常见现象:终端里输 composer --version 报 command not found,但 ls /opt/homebrew/bin/composer 确实存在。本质是你的 shell 没加载 Homebrew 的 bin 目录。
- 确认 shell 类型:
echo $SHELL,macOS Catalina 及以后默认是/bin/zsh,编辑~/.zshrc(不是~/.bash_profile) - 不要手写
export PATH="/opt/homebrew/bin:$PATH"—— 改用官方方式:echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc && source ~/.zshrc - 新开终端,运行
which composer,必须输出/opt/homebrew/bin/composer(M 系列)或/usr/local/bin/composer(Intel) - 如果只在某项目目录下能跑
composer,说明你之前是靠相对路径临时执行,不是真正全局可用
升级和国内镜像源配置(必做)
升级不能靠 brew upgrade composer(已失效),而要用 composer self-update;不配镜像源,composer install 十次九超时,这不是你网络问题。
- 升级命令:
composer self-update(它会自动更新到最新稳定版) - 配置阿里云镜像源:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 验证镜像是否生效:运行
composer config -g repo.packagist,应返回阿里云地址 - 注意:
composer self-update必须由你部署的composer二进制执行,不是php composer.phar self-update—— 后者容易因权限或 PHP 版本错乱失败
最容易被忽略的是:PATH 加载顺序、PHP CLI 实际调用路径、以及镜像源配置时机。很多人装完以为万事大吉,结果第一次 composer require 就卡在 Resolving dependencies,折腾半天才发现源没换。











