概述
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),避免使用 *(自动安装最新版,风险极高)。


