composer怎么在Mac环境安装_Homebrew快速配置与路径设置【方法】

14次阅读

mac上不能用brew install composer,应先用Homebrew安装php,再通过官方脚本下载composer.phar并移至/opt/homebrew/bin(M系列)或/usr/local/bin(Intel),最后赋予执行权限。

composer怎么在Mac环境安装_Homebrew快速配置与路径设置【方法】

composer 在 Mac 上不能直接用 brew install composer 了——Homebrew 社区已弃用该方式,安装后常报错、版本滞后、权限混乱,尤其在 M1/M2 芯片上极易失败。 正确做法是:**用 Homebrew 装好 PHP,再用官方脚本安装 Composer,并手动放到 /opt/homebrew/bin(M 系列)或 /usr/local/bin(Intel)下**。下面分步说明。

确认 Homebrew 已装对位置(M1/M2 必看)

运行 which brew,输出必须是 /opt/homebrew/bin/brew。如果是 /usr/local/bin/brew,说明你装的是 Intel 版,得重装:

rm -rf /usr/local/bin/brew /usr/local/share/doc/homebrew /usr/local/share/man/man1/brew.1 /usr/local/share/zsh/site-functions/_brew /usr/local/etc/bash_completion.d/brew arch -arm64 /bin/bash -c "$(curl -fssl https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

装完后立刻配置环境变量(Zsh 用户):

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile source ~/.zprofile

必须先装 PHP,且路径要匹配

Composer 是 PHP 写的,没 PHP 就跑不起来。Mac 自带 PHP 已被弃用,必须用 Homebrew 装:

  • brew install php —— 安装最新稳定版(如 PHP 8.3)
  • php -v 应输出版本号
  • which php 必须是 /opt/homebrew/bin/php(M 系列)或 /usr/local/bin/php(Intel)
  • 如果 php 命令找不到,检查 ~/.zprofile 是否已导出 /opt/homebrew/binPATH

用官方脚本安装 Composer(唯一推荐方式)

别信 brew install composer,它长期不更新,且默认绑定旧 PHP,容易出现 PHP Parse Errorcommand not found

执行以下三步:

curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /opt/homebrew/bin/composer sudo chmod +x /opt/homebrew/bin/composer

验证:composer --version 输出类似 Composer version 2.7.7 即成功。

⚠️ 注意:sudo mv 是必须的——否则 composer 只能在当前目录用 php composer.phar,没法全局调用。

常见错误与绕过方案

遇到这些提示,基本都是路径或权限问题:

  • command not found: composer → 检查 which composer;若无输出,确认 /opt/homebrew/binPATH 中(echo $PATH
  • Permission denied 当运行 composersudo chmod +x /opt/homebrew/bin/composer 补上执行权限
  • PHP Warning: require(): Failed opening required 'phar://composer.phar/bin/composer' → 说明 composer.phar 被移动或损坏,重跑安装脚本即可
  • composer create-projectzip extension missingbrew install php@8.3 后再 brew link php@8.3,并确保 extension=zipphp.ini 中未被注释

M1/M2 Mac 上最易忽略的一点:**Homebrew 路径变了,环境变量没同步,导致 phpcomposer 看不到彼此**。只要 which phpwhich composer 都指向 /opt/homebrew/bin/xxx,且 php -m | grep zip 有输出,就基本不会翻车。

text=ZqhQzanResources