composer怎么在Linux/Ubuntu安装_命令行配置与全局路径设置【教程】

6次阅读

应手动下载官方 PHAR 安装:curl -sS https://getcomposer.org/installer | php 获取 composer.phar,校验 SHA384 后 chmod +x,再 sudo mv 至 /usr/local/bin/composer 并确保该路径在 $PATH 中。

composer 怎么在 Linux/Ubuntu 安装_命令行配置与全局路径设置【教程】

Composer 在 Ubuntu 上不是用 apt install composer 装官方包就能直接用的——系统源里的版本老旧、不带 composer 命令别名,且默认不写入全局 PATH。必须手动下载 PHAR、设可执行权限、并显式放入系统级 bin 目录或用户 PATH 中。

怎么下载并验证 Composer PHAR 文件

Ubuntu 官方仓库的 composer 包(如 php-composer)通常滞后 1–2 年,且安装后是 /usr/bin/composer 但实际指向一个包装脚本,容易和本地项目中的 composer.phar 冲突。推荐直接使用官方分发方式:

  • 运行 curl -sS https://getcomposer.org/installer | php 下载到当前目录的 composer.phar
  • 立即校验完整性:php -r "echo hash_file('sha384','composer.phar');",比对官网首页显示的 SHA384 值
  • 加执行权限:chmod +x composer.phar

如何让 composer 命令全局可用

仅把 composer.phar 放进 ~/bin//usr/local/bin/ 不够,还要确保该路径在你的 shell 的 $PATH 中。常见错误是只改了 ~/.bashrc 却没重载,或用了 zsh 却去改 bashrc

  • 推荐放系统级位置:sudo mv composer.phar /usr/local/bin/composer
  • 检查是否生效:which composer 应输出 /usr/local/bin/composer
  • 若提示“command not found”,运行 echo $PATH 确认 /usr/local/bin 在其中;不在就补:echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrczsh 用户改 ~/.zshrc

为什么 不能用 sudo apt install composer

Ubuntu 22.04/24.04 源中 composer 包版本固定为 2.0.x 或 2.2.x,而 Composer 官方已进入 2.7+,缺失关键特性(如 composer require --interactive、PHP 8.3 兼容、插件签名验证)。更严重的是:

  • 它依赖系统 PHP 包,会强制安装 php-cli 和一堆扩展,可能覆盖你用 ondrej/php PPA 装的高版本 PHP
  • 命令实际是 /usr/bin/composer,但本质是调用 /usr/share/php/composer/composer —— 这个路径下文件不可写,升级失败率极高
  • composer self-update 会报错:Cannot update, permission denied,因为没权限写系统目录
#!/bin/bash # 推荐的一键安装脚本(粘贴后直接运行)EXPECTED_CHECKSUM="$(wget -q -O - https://composer.github.io/installer.sig)" php -r "copy('https://getcomposer.org/installer','composer-setup.php');" ACTUAL_CHECKSUM="$(php -r"echo hash_file('sha384', 'composer-setup.php');")" if ["$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM"]; then     echo 'Integrity check failed' >&2     rm composer-setup.php     exit 1 fi sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer rm composer-setup.php

PATH 和权限问题最容易反复出错,尤其当服务器上同时跑多个 PHP 版本或用了 Docker。每次执行 composer 前,先确认 php -vwhich php 输出与预期一致——Composer 的行为高度依赖当前 CLI PHP 的配置和扩展加载状态。

星耀云
版权声明:本站原创文章,由 星耀云 2025-12-31发表,共计1833字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources