Arch Linux 官方仓库不提供 composer,需通过 AUR 安装;装后必须手动配置国内镜像(如阿里云),并确保 PHP 环境及 openssl、mbstring 等扩展已启用,否则首次运行会因直连不可用的 Packagist 国际源而失败。

Arch Linux 官方仓库里没有 composer,必须走 AUR;但直接用 yay 或 paru 装出来的默认是 PHP 自带的 composer.phar 方式,不带国内镜像,首次运行会卡在 https://repo.packagist.org —— 这个地址在国内基本不可用。
为什么不能直接用 sudo pacman -S composer
因为 Arch 官源不提供 composer 包。你搜 pacman -Ss composer 只能看到 php-composer(已废弃)或零星几个无关工具。真正可用的是 AUR 中的 composer(由社区维护,指向官方 PHAR 发布页),它本质是下载并封装 composer.phar 为系统命令。
- 这个包不自带镜像配置,装完执行
composer init或composer create-project时仍会直连 Packagist 国际源 - 它依赖系统已安装的
php,且要求openssl、zlib、mbstring等扩展启用(否则报错file_get_contents(): SSL operation failed) - 装完的二进制路径是
/usr/bin/composer,但实际是 shell wrapper,最终调用/usr/share/composer/composer.phar
用 yay 安装前先确认 PHP 环境
Composer 是 PHP 工具,不是独立二进制。如果 php -v 报错或提示缺失扩展,装了也跑不起来。
- 确保已安装
php:运行sudo pacman -S php - 启用必要扩展:编辑
/etc/php/php.ini,取消注释以下几行:extension=openssl、extension=mbstring、extension=zip、extension=curl - 验证:执行
php -m | grep -E '^(openssl|mbstring|curl)$',应输出三行
安装 AUR 版 composer 并立即配国内镜像
AUR 包本身不处理镜像,但 Composer 支持全局 config,装完立刻设,避免第一次运行失败导致本地配置损坏。
- 安装:运行
yay -S composer(或paru -S composer) - 设置国内镜像(阿里云):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 验证是否生效:运行
composer config -g repo.packagist,应输出https://mirrors.aliyun.com/composer/ - 可选:禁用 HTTPS 验证(仅调试用,不推荐):
composer config -g secure-http false
常见错误与绕过技巧
即使配了镜像,仍可能遇到 file could not be downloaded: php_network_getaddresses: getaddrinfo failed 或 SSL certificate problem —— 这通常不是镜像问题,而是 PHP 的 CA 证书未更新或 curl 配置异常。
- 先更新系统证书:
sudo pacman -S ca-certificates-utils && sudo update-ca-trust - 如果用的是
archlinuxcn源,确认已导入密钥:sudo pacman -S archlinuxcn-keyring - 临时跳过 SSL(仅限测试):
export COMPOSER_DISABLE_TLS=1,再运行composer install - 注意:AUR 的
composer包不会自动升级自身,升级需手动yay -S composer,或用composer self-update(后者会覆盖 AUR 安装的 phar 文件)
最易被忽略的一点:Composer 镜像只加速包下载,不解决 git clone 类操作。如果你的 composer.json 里有 vcs 类型仓库(比如 GitHub 私有库),仍需单独配 Git 的代理或镜像,和 Composer config 无关。


















