CentOS 默认不带 composer 且 yum install composer 会失败,因官方仓库无此 RPM 包;需手动下载 composer.phar 并移至 /usr/local/bin 设为全局命令,注意 PATH 和权限配置。

CentOS 默认不带 composer,也不能直接用 yum install composer 安装——因为官方仓库里没有这个包。想用 composer,得手动下载 PHAR 文件并设为全局命令。
为什么 yum install composer 会失败
CentOS 7/8 的 base 和 epel 仓库中均未收录 composer。执行该命令只会返回 No package composer available 或类似提示。这不是网络或源配置问题,是根本不存在这个 RPM 包。
用 curl 下载官方 PHAR 并设为全局命令
Composer 是一个 PHP 脚本(PHAR 格式),最稳妥的方式是从官网拉取,并赋予可执行权限、放入系统 PATH 目录:
- 确保已安装 PHP CLI:
php -v应输出版本号;若无,请先运行yum install php-cli - 下载最新稳定版:
curl -sS https://getcomposer.org/installer | php
(会在当前目录生成composer.phar) - 移动到系统级可执行路径:
sudo mv composer.phar /usr/local/bin/composer
- 添加执行权限:
sudo chmod +x /usr/local/bin/composer
完成后运行 composer --version 即可验证。
PATH 和权限常见坑点
/usr/local/bin 在 CentOS 大多数用户默认 PATH 中,但某些最小化安装或非交互式 shell(如 cron、systemd service)可能不包含它:
- 检查当前 PATH:
echo $PATH,确认含/usr/local/bin - 若缺失,临时加:
export PATH="/usr/local/bin:$PATH";永久生效需写入/etc/profile或用户~/.bashrc - 别用
~/bin或当前目录放composer——其他用户或 root 执行时不可见 - 不要用
sudo php composer.phar代替全局命令,容易因 PHP 配置差异(如 disable_functions)报错
真正要注意的不是“怎么下”,而是“放哪”和“谁有权限执行”。很多问题其实出在 PATH 没刷进环境,或者用了 root 安装却以普通用户身份调用。










