温馨提示×

如何在Ubuntu上使用Composer

小樊
36
2025-12-14 17:51:32
栏目: 智能运维

在 Ubuntu 上使用 Composer 的完整指南

一 安装与准备

  • 更新索引并安装依赖:需要 php-cli(命令行 PHP)、php-mbstring(多字节字符串支持)、git(拉取依赖)、curl(下载安装器)、unzip(解压包)。
    • 命令:sudo apt update && sudo apt install -y curl php-cli php-mbstring php-curl git unzip
  • 下载并验证安装器:从官方获取安装脚本,并用 SHA-384 校验完整性,防止被篡改。
    • 命令:
      cd ~
      curl -sS https://getcomposer.org/installer -o composer-setup.php
      HASH=$(curl -sS https://composer.github.io/installer.sig)
      php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
      
  • 全局安装可执行文件:将 Composer 安装为系统命令 composer(位于 /usr/local/bin)。
    • 命令:sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
  • 验证安装:
    • 命令:composer --version(应输出版本号,如 Composer version 2.x

二 基本使用

  • 初始化或添加依赖:在项目目录中直接添加包,Composer 会自动生成或更新 composer.json,并生成 composer.lockvendor/
    • 示例:composer require cocur/slugify
  • 安装与更新:
    • 安装锁文件中的精确版本:composer install
    • 按约束升级依赖:composer update
    • 仅升级某个包:composer update monolog/monolog
  • 自动加载:在入口 PHP 文件中引入 Composer 自动加载脚本,即可使用依赖中的类与命名空间。
    • 示例:
      <?php
      require __DIR__ . '/vendor/autoload.php';
      use Cocur\Slugify\Slugify;
      $slugify = new Slugify();
      echo $slugify->slugify('Hello World');
      
  • 常用命令一览:
    • composer require vendor/package:添加依赖并写入 composer.json
    • composer install:按 composer.lock 安装
    • composer update:更新依赖
    • composer remove vendor/package:移除依赖
    • composer show:查看已安装包
    • composer outdated:查看可升级包

三 全局与本地安装及升级

  • 全局安装(推荐):一次安装,任意目录可用(上文步骤即为全局安装)。
  • 本地安装(按项目):仅当前项目可用,适合无系统级写权限的场景。
    • 命令:php composer-setup.php(会在当前目录生成 composer.phar,使用 php composer.phar 运行)
  • 升级 Composer:
    • 命令:sudo composer self-update(升级到最新稳定版)

四 常见问题与优化

  • 权限问题:全局安装或写入系统目录时,使用 sudo;若不想全局安装,请选择本地安装方式。
  • 速度优化(可选):为提升国内下载速度,可配置镜像源(Packagist 镜像)。
    • 全局配置:composer config -g repo.packagist composer https://packagist.phpcomposer.com
    • 项目级配置:在项目根目录执行:composer config repo.packagist composer https://packagist.phpcomposer.com
  • 校验失败处理:若安装器 SHA-384 校验不通过,请重新下载安装脚本并核对最新哈希后再安装。

0