composer怎么在Ubuntu安装_composer怎么配置apt环境依赖【教程】

0次阅读

推荐跳过 apt 安装 Composer,改用官方脚本安装;需启用 mbstring、xml、zip、curl、json 等 PHP 扩展;全局命令需将 ~/.composer/vendor/bin 加入 PATH;国内用户应配置阿里云镜像源。

composer 怎么在 Ubuntu 安装_composer 怎么配置 apt 环境依赖【教程】

Ubuntu 上直接用 apt 装的 composer 通常不是你想要的版本

Ubuntu 官方源里的 composer 包往往滞后多个大版本(比如还卡在 2.2.x),且不带自动更新机制,composer create-projectcomposer require 在较新 PHP 版本下容易报错或行为异常。

真正推荐的做法是跳过 apt,用官方安装脚本直接部署 —— 它生成的是独立可执行文件,不依赖系统包管理,也避免和 php-composer 这类旧包冲突。

  • 运行 curl -sS https://getcomposer.org/installer | php 下载安装器
  • 执行 sudo mv composer.phar /usr/local/bin/composer 全局可用
  • 验证:composer --version 应显示类似 Composer version 2.7.7
  • 如果提示 Command 'php' not found,说明没装 PHP CLI,先装 sudo apt install php-cli

PHP 扩展缺失会导致 composer install 直接失败

Composer 不只是下载代码,它会解压、校验、生成 autoloader,这些操作依赖特定 PHP 扩展。Ubuntu 默认 PHP 安装通常只含最简模块,缺一不可。

常见报错如:The requested PHP extension mbstring is missingcURL extension is required,或者 zip extension is missing

  • 必须启用的扩展:mbstringxmlzipcurljson
  • 检查是否已启用:php -m | grep -E "mbstring|zip|curl"
  • 若缺失,例如装 zip:sudo apt install php-zip(注意:不同 PHP 版本前缀可能为 php8.1-zip,用 php -v 确认主版本)
  • 改完扩展后无需重启服务,但要确保 CLI 使用的 PHP 配置一致:php --ini 查路径,确认 .ini 文件里没注释掉对应 extension=

composer global require 的二进制命令找不到?PATH 没配对

composer global require laravel/installer 后,laravel 命令却提示 command not found —— 这不是 Composer 故障,是 shell 找不到全局 bin 目录。

Composer 默认把全局命令放 ~/.composer/vendor/bin/,这个路径不在 Ubuntu 默认 $PATH 里。

  • 临时生效:export PATH="$HOME/.composer/vendor/bin:$PATH"
  • 永久生效:把上面那行加到 ~/.bashrc~/.zshrc(看你在用哪个 shell)
  • 验证:echo $PATH 看是否包含该路径;再运行 which laravel 应返回完整路径
  • 注意:如果用了 sudo composer global require,命令会被装到 /root/.composer/vendor/bin/,普通用户当然找不到 —— 切记别加 sudo

国内用户绕不开的源切换:不换镜像,composer create-project 可能卡死

官方源域名 repo.packagist.org 在国内直连极慢,甚至超时中断,尤其拉大型项目(Laravel、Symfony)时,create-project 经常停在“Installing dependencies”卡住不动。

这不是网络问题,是 Composer 默认没设超时重试策略,且不走系统代理(即使开了 http_proxy 也不一定生效)。

  • 切阿里云镜像:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
  • 验证配置:composer config -g repo.packagist 应输出镜像地址
  • 如需恢复官方源:composer config -g --unset repos.packagist
  • 注意:某些企业网络会拦截 HTTPS 镜像证书,若报 SSL 错误,可临时关验证(不推荐):composer config -g secure-http false,但优先排查本地 CA 证书是否过期
事情说清了就结束。Composer 本身轻量,但它的行为高度依赖 PHP 环境完整性、网络可达性、以及用户 shell 的 PATH 设置 —— 三者缺一,就容易卡在某个看似“莫名其妙”的环节。

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