唯一可靠方式是先装匹配架构的php,再用官方脚本下载composer.phar并移至对应路径赋权;必须配置阿里云镜像源,且which composer输出路径须与brew一致,否则未真正生效。

brew install composer 已不可靠,2023年起被 Homebrew 社区正式弃用,尤其在 M1/M2 Mac 上大概率导致 command not found: composer、Permission denied 或卡在旧版 v2.2。真正能跑起来的方式只有一种:**先装好 PHP,再用官方脚本下载 composer.phar,手动移到正确路径并赋权**。
确认 PHP 是否真可用(不是“有就行”,而是“路径对、版本新、能调用”)
macOS 12+ 已彻底移除系统自带 PHP,php -v 报错或显示 PHP 8.0 以下,都说明不能直接用。Homebrew 安装的 PHP 必须和你的芯片架构匹配——M 系列必须走 /opt/homebrew/bin/php,Intel 才是 /usr/local/bin/php。
- 运行
which brew:输出必须是/opt/homebrew/bin/brew(M 系列)或/usr/local/bin/brew(Intel),否则 Homebrew 装错了位置 - 运行
brew install php:它会装最新稳定版(如 PHP 8.3),不是旧版 - 运行
php -v和which php:两个命令都必须成功,且which php输出路径要和which brew一致层级(都是/opt/homebrew/bin/xxx) - 如果
php命令仍无效,检查~/.zshrc或~/.zprofile是否含export PATH="/opt/homebrew/bin:$PATH"(M 系列)或export PATH="/usr/local/bin:$PATH"(Intel),然后执行source ~/.zshrc
用官方脚本安装 composer.phar(唯一推荐方式)
Homebrew 的 composer 包不再更新,绑定的是旧 PHP,还可能因权限问题拒绝执行;而官方脚本能确保拿到 ARM64 兼容、PHP 版本解耦、当前最新版(如 v2.7.7)的可执行包。
- 执行
curl -sS https://getcomposer.org/installer | php:生成本地文件composer.phar - 移动到全局路径:
sudo mv composer.phar /opt/homebrew/bin/composer(M1/M2)或sudo mv composer.phar /usr/local/bin/composer(Intel) - 立刻赋权:
sudo chmod +x /opt/homebrew/bin/composer(对应路径) - 验证:
composer --version应输出类似Composer version 2.7.7;若报command not found,说明路径没进$PATH
配置阿里云镜像源(不配=90%概率卡死)
默认源 https://packagist.org 在国内访问极不稳定,composer install 或 composer require 经常卡住、报 Connection timed out,这不是网络问题,是源本身不可达。
- 运行
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 该命令写入全局配置(
~/.composer/config.json),所有项目自动生效 - 验证是否生效:执行
composer config -g repo.packagist,应输出https://mirrors.aliyun.com/composer/
为什么 which composer 比 composer --version 更关键?
很多人在 ~ 目录下跑通了 composer --version 就以为装好了,结果一进项目目录就报错——这说明 composer 只是当前目录临时能用,根本没进系统 PATH。真正可靠的验证是跨目录调用 + 查真实路径。
- 换到任意子目录,比如
cd ~/Sites/test,再运行composer --version - 运行
which composer:必须输出/opt/homebrew/bin/composer(M 系列)或/usr/local/bin/composer(Intel),而不是./composer或/Users/xxx/composer - 如果
which composer无输出,检查echo $PATH是否含对应路径;若缺失,确认~/.zshrc或~/.zprofile已添加且执行过source
source,等于没改;which composer 不查,等于没验证;不配阿里云镜像,等于每天和超时死磕。这些都不是“额外步骤”,是让 Composer 在 Mac 上真正可用的最小必要动作。










