windows 安装 composer 需手动指定 php.exe 并启用 openssl/curl 扩展;mac 应弃用 brew install composer,改用官方脚本安装并配置 path 与国内镜像。

Windows 上装 Composer:别信自动检测,先盯住 php.exe 和 openssl
Windows 下装不成功,九成是因为 PHP 没配对,或 openssl 扩展压根没开。官方 Composer-Setup.exe 会“自动检测”,但经常漏掉你实际用的 PHP(比如 XAMPP、WAMP、独立 zip 包三选一,它只扫注册表或默认路径)。
- 先运行
php --ini看Loaded Configuration File路径,打开对应的php.ini - 确认这两行已取消注释:
extension=openssl和extension=curl(不是php_openssl.dll) - 保存后,在终端跑
php -m | findstr openssl,有输出才算真启用 - 安装时若提示“PHP not found”,别点 Next,点
Browse手动选你确认无误的php.exe(比如C:\xampp\php\php.exe) - 安装完立刻新开一个 CMD 或 PowerShell —— 旧窗口不会自动加载新
PATH,composer --version必须在这里测
Mac 上装 Composer:别用 brew install composer,它已弃用
Homebrew 自 2023 年起就标记 composer 包为 deprecated,M1/M2 上尤其容易出 command not found、PHP Parse error 或卡在权限拒绝。真正靠谱的路径是:用 Homebrew 装好 PHP,再用官方脚本生成 composer.phar,手动放进系统路径。
- 先确保
brew装在正确位置:which brew必须返回/opt/homebrew/bin/brew(M 系列)或/usr/local/bin/brew(Intel) - 执行
brew install php,然后验证:php -v有输出,且which php指向同级bin目录 - 接着跑:
curl -sS https://getcomposer.org/installer | php→ 生成本地composer.phar - M 系列用户执行:
sudo mv composer.phar /opt/homebrew/bin/composer && sudo chmod +x /opt/homebrew/bin/composer - Intel 用户用:
sudo mv composer.phar /usr/local/bin/composer && sudo chmod +x /usr/local/bin/composer
Mac 的 PATH 坑:改了 ~/.zshrc 不生效?可能根本没 reload
macOS 12+ 默认用 zsh,但它不读 ~/.bash_profile;而很多人编辑了文件却忘了让终端“认账”,结果反复重装、以为是 Composer 问题。
- 确认 shell:
echo $SHELL输出/bin/zsh就编辑~/.zshrc,输出/bin/bash才动~/.bash_profile - 在
~/.zshrc末尾加:export PATH="/opt/homebrew/bin:$PATH"(M 系列)或export PATH="/usr/local/bin:$PATH"(Intel) - 必须执行:
source ~/.zshrc,否则新开终端也白搭 - 验证是否真进 PATH:
echo $PATH | grep homebrew或which composer应该返回完整路径,不是./composer - 如果用了 Oh My Zsh,某些插件会覆盖
PATH,把export PATH=...放到~/.zshrc最顶部
装完必须配国内镜像,否则 composer install 卡死是常态
默认源 https://packagist.org 在国内直连基本不可用,不是网络断了,是 DNS 解析慢 + TLS 握手超时,create-project、require 都会卡在 “Loading composer repositories…” 甚至报 Connection timed out。
- 全局配置阿里云镜像(推荐):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 腾讯镜像备选:
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/ - 验证是否生效:运行
composer config -g repo.packagist,应输出镜像 URL,不是https://packagist.org - 注意:这个配置写在全局配置文件里(
~/.composer/config.json),不影响单个项目,也不需要每次项目都重复设
最常被忽略的是:改完环境变量不 source,或者开了新终端却没重新加载;还有人装了 PHP 却没开 openssl,硬是把网络问题当成 Composer 故障。这些都不是 Composer 本身的问题,而是它对底层环境很诚实——你给它什么,它就用什么。










