mac装composer应弃用homebrew旧包,先装homebrew版php(≥7.4),再用官方脚本下载composer.phar并移至对应路径(m系列/opt/homebrew/bin,intel/usr/local/bin),赋权后配置path并source生效,最后配置阿里云镜像源。

Mac 上装 Composer,别信“一键安装”脚本,也别用 brew install composer —— 这个包早在 2023 年就被 Homebrew 标记为 deprecated,M1/M2 芯片上大概率卡在 v2.2.x、报 Permission denied 或根本找不到命令。
确认 PHP 是否真能用,不是“有 php -v 就算数”
macOS 12+ 已彻底移除系统自带 PHP,/usr/bin/php 是个空壳或旧版(比如 PHP 8.0 以下),Composer 要求 CLI 版本 ≥ 7.4,Apache 模块里的 PHP 不算数。
- 运行
which php:M 系列应返回/opt/homebrew/bin/php,Intel 应为/usr/local/bin/php;若返回/usr/bin/php或为空,说明没走 Homebrew 的 PHP - 运行
brew install php—— 它会自动装最新稳定版(如 PHP 8.3),并启用phar扩展(Composer 必需) - 如果
php -v仍失败,检查~/.zshrc是否含export PATH="/opt/homebrew/bin:$PATH"(M 系列)或对应 Intel 路径,然后执行source ~/.zshrc
用官方脚本下载 composer.phar,手动移到正确路径
Homebrew 的 composer 包已弃用,官方唯一推荐方式是下载 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(路径必须一致)
PATH 没生效?不是没装,是 shell 没读到
很多人 composer --version 在家目录能跑,一进项目目录就报 command not found,本质是命令没真正进 $PATH,只是靠当前路径临时执行。
- 先确认 shell:
echo $SHELL输出/bin/zsh就编辑~/.zshrc,别动~/.bash_profile - 在
~/.zshrc末尾添加(路径必须与你实际安装位置一致):export PATH="/opt/homebrew/bin:$PATH"(M 系列)或export PATH="/usr/local/bin:$PATH"(Intel) - 执行
source ~/.zshrc,**不是只改完就关终端**;新开终端,再运行which composer,必须输出/opt/homebrew/bin/composer或/usr/local/bin/composer
不配镜像源,90% 的 install 会卡住或超时
默认源 https://packagist.org 在国内访问极不稳定,composer install 或 composer require 经常卡死、报 Connection timed out,这不是你网络差,是源站响应策略问题。
- 执行
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 验证是否生效:
composer config -g repo.packagist应输出镜像地址 - 这个配置只影响当前用户,不会污染系统,且项目级
composer.json中的私有 repo 优先级更高,无需担心覆盖
最常被忽略的一点:改完 ~/.zshrc 后没 source,或者开了新终端但忘记重新加载配置 —— 这会导致反复重装、怀疑人生。PATH 配置不是“写完就完”,是“写完 + 生效 + 跨目录验证”。











