一、composer入门
1、每次安装新的包文件,会更新/vendor/autoload.php文件
2、composer.lock与composer.json的关系
文件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常用命令
1、composer install
当项目重新部署或者合并分支时,都需要执行
composer install
命令。如果当前项目根目录存在composer.lock文件,则会首先根据composer.lock文件指定的包版本从composer中下载相应的包,如果没有,则根据composer.json文件到composer中下载合适版本的包,并生成composer.lock文件。2、composer update
如果直接执行
composer update
命令,后面不指定包名,则会更新项目依赖的所有包文件,因此当项目已经成型,composer update
命令要慎用,不能随便执行,特别是生产环境!当然,我们可以在
composer update
命令后面跟上包名称,这样子就只会更新指定的包,具体步骤是:先修改composer.json文件中,对应包(比如monolog/monolog)的版本号为1.25.0,然后执行composer update monolog/monolog
,则会更新monolog/monolog包到1.25.0版本,其他包不会受到影响。3、composer require
使用频率最高的命令。当我们要往项目中引入某个包的时候,要使用该命令。
该命令执行会更新composer.json文件,并下载相应包版本,同时也会更新composer.lock文件。这样一来,其他项目成员只要拿到composer.lock文件后,执
composer install
命令即可获取到相同的包。
PHP交流群 656679284
标签:文件,版本,lock,monolog,基础,json,composer,操作
From: https://www.cnblogs.com/liuxd/p/16834961.html