不推荐用 brew install composer 安装——该包自2023年起已被Homebrew弃用,易致路径错乱、版本陈旧、权限错误等问题;应先通过brew install php安装新版PHP,再用官方脚本curl -sS https://getcomposer.org/installer | php下载composer.phar,移至/opt/homebrew/bin/composer(M系列)或/usr/local/bin/composer(Intel),并sudo chmod +x赋权,最后配置阿里云镜像源提升国内访问稳定性。

composer 在 macOS 上**不推荐用 brew install composer 安装**——这个包自 2023 年起已被 Homebrew 社区标记为 deprecated(已弃用),尤其在 M1/M2 芯片上,极易出现路径错乱、版本陈旧(如卡在 v2.2)、Permission denied 或 command not found: composer 等问题。
真正可靠的做法是:**先装好 PHP,再用官方脚本下载 composer.phar,手动移到正确路径并赋权**。下面分步说清。
确认 PHP 已就位且路径正确
macOS 12+ 已彻底移除系统自带 PHP,php -v 报错或显示过时版本(如 PHP 8.0 以下)都说明不能直接用。必须通过 Homebrew 安装新版 PHP:
- 运行
which brew,输出必须是/opt/homebrew/bin/brew(M1/M2)或/usr/local/bin/brew(Intel);若不是,需重装原生版 Homebrew - 执行
brew install php—— 会安装最新稳定版(如 PHP 8.3) - 验证:
php -v应有输出;which php必须指向/opt/homebrew/bin/php(M 系列)或/usr/local/bin/php(Intel) - 如果
php命令仍不可用,检查~/.zshrc或~/.zprofile是否包含export PATH="/opt/homebrew/bin:$PATH",并运行source ~/.zshrc
用官方脚本安装 composer.phar(唯一推荐方式)
Homebrew 的 composer 包不再维护,而官方脚本能确保拿到最新版、ARM64 兼容、且不绑定错误 PHP 版本:
- 执行
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,说明/opt/homebrew/bin(或对应路径)没进$PATH
配置阿里云镜像源(否则大概率超时)
默认源 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,应返回阿里云地址 - 如果后续想切回官方源,运行
composer config -g --unset repo.packagist
为什么 which composer 没输出?常见路径陷阱
很多人装完以为成功,一换目录就报错,本质是 composer 没进系统 PATH,或者终端没重载配置:
-
which composer必须输出/opt/homebrew/bin/composer(M 系列)或/usr/local/bin/composer(Intel);若输出空或./composer,说明只是当前目录临时可用 - 检查
echo $PATH,确认/opt/homebrew/bin(或对应路径)在其中;若没有,手动加到~/.zshrc最顶部 - 改完
~/.zshrc后,必须运行source ~/.zshrc,或新开终端窗口——这是最常被跳过的一步 - 如果你用了 Oh My Zsh,某些插件(如
asdf、php插件)可能覆盖PATH,建议把export PATH=...放在~/.zshrc第一行
source ~/.zshrc 这一步,就会反复重装、怀疑命令错了——其实只是环境没“活”过来。










