composer文件简介

composer.json常用选项

键名 描述
name 表示包的名称,如果你经常使用GitHub,那对这个值的表达方式一定非常熟悉。通常扩展包名包含两部分,并且以“/”分隔。斜杠前的部分,代表包的所有者,斜杠后的部分代表包的名称。尽量保持简单和有意义,便于记忆和传播。如“"name”:“Lmonkey demo””,“Lmonkey”表示公司,“demo”表示公司下面的一个项目名
description 表示项目的应用简介,这部分应尽量简洁地介绍项目。如果确实有很多内容,建议写在README.md文件里(在扩展库的源码目录中)
license 如果决定将包公开发布,那么记得选择一个合适的许可证。这样别的程序员在引用包的时候,通过查看许可证,确保没有法律上的问题
authors 作者字段可以包含一个对象数组,也就是说,可以提供多个作者信息
require 这个字段的值是一个对象,同样以键值对的形式构成。上例提到的两个依赖关系,最重要的就是版本信息的指定。如我们需要使用monolog的版本是1.0.,意思是只要版本是1.0分支即可,如1.0.0,1.0.2或1.0.99。版本定义的几种方式如下:(1)标准的版本:定义标准的版本包文件,如1.0.2(2)一定范围的版本:使用比较符号来定义有效的版本的范围,有效的符号有>,>=,<<,!= (3)通配符:特别的匹配符号,如1.0.*相当于>=1.0且<1.1版本即可(4)下一个重要的版本:符号最好的解释就是,1.2就相当于>1.2且<2.0,但~1.2.3相当于>=1.2.3且<13版本
minimum-stability 通过设置minimum-stability的值,告诉Composer当前开发的项目依赖要求的包的全局稳定性级别,它的值包括dev、alpha、beta、RC、stable,其中,stable是默认值

composer.lock

文件composer.lock会根据composer.json的内容自动生成,和composer.json在同一位置,即在安装完所有需要的包之后,Composer会在composer.lock文件中生成一张标准的包版本的文件,这将锁定所有包的版本。可以使用composer.lock(当然是和composer.json一起)来控制项目的版本。

composer.lock与composer.json的关系为,composer.json文件为包的元信息,composer.lock文件同样为包的元信息,但在composer.json文件中可以指定使用不明确的依赖包版本,如“>=1.0",在composer.lock文件中的会是当前安装的版本。那么当使用Composer安装包时,它会优先从composer.lock文件读取依赖版本,再根据 composer.json 文件去获取依赖。这确保了该库的每个使用者都能得到相同的依赖版本。这对于团队开发来讲非常重要。

composer常用命令

命令 描述
composer list 获取帮助信息
composer init 以交互方式填写composer json文件信息
composer install 从当前目录读取composerjson文件,处理依赖关系,并安装到 vendor目录下
composer update 获取依赖的最新版本,升级composerlock文件
composer require 添加新的依赖包到composerjson文件中并执行更新
composer search 在当前项目中搜索依赖包
composer show 列举所有可用的资源包
composer validate 检测composerjson文件是否有效
composer self-update 将composer工具更新到最新版本
composer create-project 基于composer创建一个新的项目
上一篇:composer 2 install 或 update时报错解决


下一篇:Composer中的ThingWorx模型定义—建模