Composer 常用命令

概述

Composer 是 PHP 生态中常用的依赖管理工具,能够高效管理项目依赖包的安装、升级与降级。本文主要记录在实际开发中具体的使用示例,以及composer国内镜像源的配置。

安装composer、配置国内镜像源

1. 安装composer

apt install wget -y
wget https://getcomposer.org/composer.phar
mv composer.phar composer
chmod +x composer
mv composer /usr/local/bin

2. 配置 composer 华为云镜像源

composer config -g repos.packagist composer https://repo.huaweicloud.com/repository/php/

目前国内比较常用的composer镜像源是阿里云和华为云,但实际使用下来,阿里云的镜像源全面性不如华为云的镜像源,所以这里配置国内镜像源为华为云镜像源。

配置说明:

  • -g 参数表示全局配置(所有项目生效),若仅需当前项目生效,移除 -g 即可;

  • 配置后,Composer 会自动通过华为云镜像下载依赖,无需其他额外操作。

3. 更新 composer 密钥

composer self-update --update-keys

注1:提示Enter Dev / Snapshot Public Key (including lines with -----)时,访问 https://composer.github.io/snapshots.pub 获取,并粘贴到命令行对话框

注2:提示Enter Tags Public Key (including lines with -----)时,访问 https://composer.github.io/releases.pub 获取,并粘贴到对话框

4. 升级到最新稳定版

composer self-update --stable

5. 安装 unzip、7zip 工具

apt install -y unzip p7zip-full

核心命令

install 命令:初始化依赖安装

功能说明

用于项目初始化(首次拉取代码后)或依赖还原场景,优先读取 composer.lock 文件中的固定版本号,确保团队协作时所有开发者使用完全一致的依赖版本,避免版本差异导致的兼容性问题。

命令格式

composer install

关键特性

  • 若项目中存在 composer.lock 文件,将严格按照该文件记录的版本安装依赖;

  • 若不存在 composer.lock 文件,则读取 composer.json 中的版本约束,安装符合条件的最新版本,并生成 composer.lock 文件;

  • 推荐在团队协作时,将 composer.lock 文件纳入版本控制(如 Git)。

 

require 命令:安装/升级/降级依赖(推荐)

功能说明

最常用的依赖管理命令,支持直接在命令行指定包名和版本,无需手动修改 composer.json 文件,操作简洁且不易出错,优先推荐使用。

命令示例

1. 全新安装依赖包

# 安装最新稳定版本(若未指定版本,将安装符合约束的最新版)
composer require haveyb/tiny-laravel

2. 升级依赖到指定版本

# 将已安装的 haveyb/tiny-laravel 升级到 2.0.0 版本
composer require haveyb/tiny-laravel:2.0.0

3. 降级依赖到指定版本

# 将已安装的 haveyb/tiny-laravel 降级到 1.1.0 版本
composer require haveyb/tiny-laravel:1.1.0

关键特性

  • 执行后自动更新 composer.json(写入版本约束)和 composer.lock(固定实际安装版本);

  • 支持版本号精确指定(如 2.0.0)、版本范围(如 ^1.0 表示兼容 1.x 最新版)。

 

update 命令:更新依赖(不推荐直接使用)

功能说明

用于更新已安装的依赖包到 composer.json 中版本约束允许的最新版本,无法直接在命令行指定版本,需手动修改配置文件,风险较高(可能引入不兼容更新),非必要不推荐使用。

操作步骤(以升级/降级为例)

1. 手动修改 composer.json

# 编辑 composer.json 文件
vim composer.json

2. 调整依赖版本约束

// 升级到 2.0.0 示例
"require": {
    "haveyb/tiny-laravel": "2.0.0"
}

// 降级到 1.1.0 示例
"require": {
    "haveyb/tiny-laravel": "1.1.0"
}

3. 保存文件并执行更新

# 保存退出(vim 操作)
:wq

# 仅更新指定依赖包(推荐,减少影响范围)
composer update haveyb/tiny-laravel

# 更新所有依赖包(不推荐,风险极高)
composer update

注意事项

  • 直接执行 composer update 会更新所有依赖包,可能导致多个包同时升级,引发版本冲突;

  • 仅在需要批量更新依赖或无法使用 require 命令时使用,且更新前建议备份项目。

使用建议

1. 优先使用 require 命令:

安装、升级、降级依赖时,优先使用 composer require,操作简洁且能自动维护配置文件;

2. 慎用 update 命令:

避免直接执行 composer update,如需更新依赖,优先指定单个包更新(如 composer update 包名);

3. 重视 composer.lock 文件:

团队协作时必须提交 composer.lock,确保所有成员依赖版本一致;

4. 镜像源必配置

国内环境务必配置华为云阿里云等国内镜像,避免下载失败;

5. 版本号规范:

指定版本时建议使用精确版本(如 2.0.0)或兼容版本约束(如 ^2.0),避免使用 *(自动安装最新版,风险极高)。