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
)。