composer怎么在Mac安装_Mac系统安装composer步骤

2次阅读

macos 12+ 已移除预装 php,需用 homebrew 安装最新版(如 php 8.3),再通过 curl 脚本安装 composer 并配置阿里云镜像源,最后确保 path 正确且新开终端验证生效。

composer怎么在Mac安装_Mac系统安装composer步骤

确认 PHP 是否可用,不是“有没有”,而是“能不能用”

macOS 12+ 已彻底移除预装 PHP,php -vcommand not found: php 是常态,不是你漏装了——是苹果删了。别试图用系统自带 PHP,它不光旧(PHP 7.3 或更低),还缺 OpenSSL、cURL 等 Composer 必需扩展。

  • 先运行 brew --version,确保 Homebrew 已安装且路径正确:which brew 应输出 /opt/homebrew/bin/brew(M1/M2)或 /usr/local/bin/brew(Intel);若为旧路径,需重装
  • 执行 brew install php —— 这会装最新稳定版(如 PHP 8.3),自动配置好扩展和二进制路径
  • 验证:which php 必须返回 /opt/homebrew/bin/php/usr/local/bin/php;若无,把 export PATH="/opt/homebrew/bin:$PATH" 加入 ~/.zshrc 并运行 source ~/.zshrc

别用 brew install composer,它已被弃用

Homebrew 官方自 2023 年起将 composer 包标记为 deprecated,尤其在 Apple Silicon 上常导致 Permission deniedcommand not found 或卡在 Connection timed out。这不是你网络差,是包本身不再更新、镜像源未同步、ARM64 兼容性未维护。

  • 直接跳过 brew install composer,哪怕它看起来最省事
  • 改用官方推荐的 curl 脚本方式:curl -sS https://getcomposer.org/installer | php —— 这会生成本地 composer.phar
  • 移动时注意芯片架构
    • M1/M2 Mac:用 sudo mv composer.phar /opt/homebrew/bin/composer
    • Intel Mac 或通用路径:用 sudo mv composer.phar /usr/local/bin/composer
  • 必须赋权:sudo chmod +x /opt/homebrew/bin/composer(或对应路径),否则执行时报错

验证是否真全局生效,不是“当前目录能跑”就完事

很多人 composer --version 成功后以为装好了,一进项目目录就报 command not found —— 根本原因是没进系统 PATH,只是碰巧在下载目录下执行了 ./composer

  • 关掉当前终端,新开一个,再运行 composer --version
  • 必须同时满足两个条件才算成功:
    • 输出类似 Composer version 2.7.7
    which composer 返回 /opt/homebrew/bin/composer/usr/local/bin/composer,**不能是 ./composer/Users/xxx/composer**
  • 如果 which composer 无输出,检查 ~/.zshrc 是否包含对应 PATH 行,并确认已执行 source ~/.zshrc(开新终端不会自动 reload)

国内用户必配阿里云镜像源,否则 install 90% 挂掉

默认源 https://repo.packagist.org 在国内极不稳定,composer install 卡住、超时、反复重试是常态,不是 Composer 问题,是网络策略限制。

  • 立即配置国内镜像:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
  • 验证是否生效:composer config -g repo.packagist 应返回 {"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}
  • 注意:这个配置是全局的(-g),所有项目都走镜像,无需每个项目重复设

最容易被忽略的点是:改完 ~/.zshrc 后没 source,或者开了新终端却忘了重新加载;还有人把 export PATH=... 写在了 ~/.bash_profile 里——而 macos 12+ 默认用 zsh,那个文件根本不会读。

text=ZqhQzanResources