Composer 使用指南
Composer 是 PHP 的依赖管理工具,类似于 Node.js 的 npm 或 Python 的 pip。它可以帮助你声明、安装和管理 PHP 项目所依赖的库。
安装 Composer
Windows 系统
- 下载 Composer-Setup.exe
- 运行安装程序,按照向导完成安装
- 安装完成后,在命令行输入
composer --version
验证安装
Linux/macOS 系统
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
基本使用
1. 初始化项目
composer init
按照提示填写项目信息,会生成 composer.json
文件。
2. 安装依赖
composer install
这会读取 composer.json
文件并安装所有指定的依赖包到 vendor
目录。
3. 添加新依赖
composer require vendor/package
例如:
composer require monolog/monolog
这会自动更新 composer.json
和 composer.lock
文件。
4. 更新依赖
composer update
更新所有依赖到最新版本(在 composer.json
约束范围内)。
5. 更新特定包
composer update vendor/package
6. 移除依赖
composer remove vendor/package
composer.json 文件结构
典型示例:
{
"name": "your-project/name",
"description": "Your project description",
"type": "project",
"require": {
"php": "^7.4 || ^8.0",
"monolog/monolog": "^2.0"
},
"require-dev": {
"phpunit/phpunit": "^9.0"
},
"autoload": {
"psr-4": {
"YourNamespace\\": "src/"
}
}
}
常用命令
composer list
- 显示所有可用命令composer show
- 显示已安装的包composer search package
- 搜索包composer dump-autoload
- 重新生成自动加载文件composer self-update
- 更新 Composer 自身composer check-platform-reqs
- 检查平台要求
自动加载
Composer 提供了自动加载功能,你只需要在代码中添加:
require 'vendor/autoload.php';
开发和生产环境
require
部分包含生产环境所需的包require-dev
部分包含开发环境所需的包
安装时排除开发依赖:
composer install --no-dev
全局包
安装全局包(如 Laravel 安装器):
composer global require laravel/installer
镜像加速(中国用户)
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
恢复官方源:
composer config -g --unset repos.packagist
常见问题解决
-
内存不足错误:
COMPOSER_MEMORY_LIMIT=-1 composer update
-
版本冲突:仔细检查包版本要求,或使用
composer why-not vendor/package version
查看冲突原因 -
清除缓存:
composer clear-cache
Composer 是现代化 PHP 开发不可或缺的工具,熟练掌握它可以大大提高开发效率。
No Comments