定义
php的一个依赖管理工具,我们可以在项目中声明所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件,有了它,我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。
命令
新项目流程
创建 composer.json,并添加依赖到的扩展包;
运行 composer install,安装扩展包并生成 composer.lock;
提交 composer.lock 到代码版本控制器中,如:git;
项目协作者安装现有项目
克隆项目后,根目录下直接运行 composer install 从 composer.lock 中安装 指定版本 的扩展包以及其依赖;
为项目添加新扩展包
使用 composer require xxx 添加扩展包;
如果之前没安装,会新增,若已安装会检查是否需要更新
composer require "foo/bar"
需要加版本的话
composer require "foo/bar:1.0.0"
不推荐使用 composer update, 或者 composer update xxx;
composer update 会根据composer.json文件中定义规范检查所有扩展库的更新;
composer update xxx 指定库后,会只更新指定库,但是为了避免操作失误,漏加扩展库导致的问题,所以也不太推荐。
其他相关命令
composer list:获取帮助信息; composer init:以交互方式填写composer.json文件信息; composer search:在当前项目中搜索依赖包; composer show:列举所有可用的资源包; composer validate:检测composer.json文件是否有效; composer create-project:基于composer创建一个新的项目; composer dump-autoload:在添加新的类和目录映射是更新autoloader composer remove laravel/ui :删除依赖后还需要去vender文件夹里,手动删除
基本约束
精确版本
1.2.1 ,指定1.2.1版本
范围
>,>=,<,<=,!=
>=1.0
>=1.0 <2.0
>=1.0 <1.1 || >=1.2
通配符
1.0.* 相当于 >=1.0.0 <1.1
波浪号~
~1.2
相当于>=1.2 <2.0.0
,而~1.2.3
相当于>=1.2.3 <1.3.0
。
~
定义了最小的版本,并且允许版本的最后一位版本号进行升级
~1
会被当作~1.0
对待,只能增加小版本,不能增加主版本
稳定性
配置项定义了包在选择版本时对稳定性的选择的默认行为。默认是stable
。它的值如下(按照稳定性排序):dev
,alpha
,beta
,RC
和stable
。除了修改这个配置去修改这个默认行为,我们还可以通过稳定性标识(例如@stable
和@dev
)来安装一个相比于默认配置不同稳定性的版本。例如:
{ "require": { "monolog/monolog": "1.0.*@beta", "acme/foo": "@dev" } }
参考地址:
https://www.php.cn/tool/composer/455000.html
https://blog.csdn.net/wjcms/article/details/107119237
https://www.runoob.com/w3cnote/composer-install-and-usage.html