Composer在Debian上的基础准备
在使用Composer前,需确保系统已安装PHP及常用扩展(如php-cli、php-json、php-mbstring等),避免后续操作报错。安装Composer的核心命令为:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
验证安装是否成功:composer --version,若显示版本号则说明安装完成。
项目初始化:从零开始构建依赖管理
composer init,按照提示填写项目名称、描述、作者等信息,自动生成composer.json文件(依赖管理的核心配置文件)。create-project命令,例如:composer create-project --prefer-dist laravel/laravel my-laravel-project
--prefer-dist参数表示下载压缩包(而非源码克隆),提升安装速度。依赖管理:添加、更新与移除
require命令添加包,例如安装monolog/monolog:composer require monolog/monolog
该命令会自动下载包及其依赖,更新composer.json(记录依赖信息)和composer.lock(锁定具体版本,确保团队环境一致)。composer.lock文件(如从Git克隆的项目),运行install命令会根据该文件安装指定版本的依赖,而非composer.json中的范围版本。composer update;monolog/monolog):composer update monolog/monolog;composer update monolog/monolog symfony/dependency-injection。remove命令,例如移除monolog/monolog:composer remove monolog/monolog
该命令会自动删除包文件,并更新composer.json和composer.lock。环境优化:提升性能与稳定性
composer install --no-dev --optimize-autoloader
--no-dev:忽略require-dev中的包;--optimize-autoloader:生成更高效的类映射,加快加载速度。composer clear-cache
composer dump-autoload
若需指定自动加载文件路径(如自定义autoload.php),可添加--path参数:composer dump-autoload --path=path/to/autoload.php
常用实用技巧
monolog相关包:composer search monolog
monolog/monolog的依赖:composer depends monolog/monolog
psr/log接口的包:composer providers psr/log
composer config -g repo.packagist composer https://packagist.phpcomposer.com
或修改本地项目配置(仅当前项目生效):composer config repo.packagist composer https://packagist.phpcomposer.com
composer.json中定义了脚本(如Laravel的数据库迁移),可通过run-script命令运行,例如:composer run-script post-install-cmd
脚本定义示例(在composer.json中):{
"scripts": {
"post-install-cmd": [
"@php artisan migrate"
]
}
}
注意事项
composer.json与composer.lock的区别:composer.json记录依赖的版本范围(如^1.0),用于开发时的依赖声明;composer.lock记录具体的版本号(如1.2.3),用于生产环境的稳定部署。--prefer-source参数(下载源码而非压缩包),或调整vendor目录权限(如sudo chown -R $USER:www-data vendor)。php -d memory_limit=-1 /usr/local/bin/composer install),或修改Composer全局配置(composer config -g memory-limit 512M)。