当前位置: 首页 > 后端技术 > PHP

听说你也想学composer----常用命令手册

时间:2023-03-30 00:51:53 PHP

上一篇讲了版本号和一些注意事项。是不是有点收获?在这篇文章中,我们将介绍一些常用的composer命令。全局参数全局参数虽然不是必须的,但是有时候可以帮助我们更好的理解和使用composer:#查看composer版本>composer-V#调试模式,输出详细的命令执行过程>composer-vvv#取消交互模式(--no-interaction)>composerinit-n#终端不输出任何信息(--quiet)>composerrequirevendor/package-n从上面列出的常用全局参数可以发现一个规则:缩写形式使用“-”,完整形式使用“--”。require和install(增加)require和install用于安装依赖包。require通常用于安装指定的依赖包,而install通常用于初始化刚刚从仓库中克隆的项目的依赖包。区别:前者不依赖composer.json文件,如果不存在会自动创建。后者必须依赖composer.json文件或者composer.lock文件,否则会报错!另外,install命令的行为需要注意一点:当有composer.lock文件时,会使用其中指定的依赖包和版本进行安装;如果不存在,则根据composer.json中声明的依赖包和版本进行安装,生成composer.lock文件。#安装指定的依赖包>composerrequirevendor/package#项目从github拉取后,安装所有依赖>composerinstall注意:composer.lock顾名思义,它的作用是加锁,记录当前安装的包信息,并保证多人开发项目的版本一致性。会省去很多检查新版本等工作,直接从文件开始下载读取下载地址,会快很多。remove(删除)用于删除指定的依赖包。此命令将更新composer.json和composer.lock文件。这里还有一个注意事项:直接删除vendor目录下的包不会更新composer.lock文件,下次执行install命令时依然会安装。#删除指定的依赖包>composerremovevendor/packageupdate(modified)用于更新依赖包。主要有三种使用场景:更新指定的依赖包#更新指定的依赖包>composerupdatevendor/package更新当前项目的所有依赖包#更新当前项目的所有依赖包>composerupdate修改composer.json文件andmakesitEffective#修改composer.json文件使其生效,同时修改composer.lock文件>composerupdatesearch(check)用于搜索依赖包。其实就是http://packagist.org网站的搜索框功能:默认是根据包名、包描述等关键词进行匹配,也可以做一些自定义:#Matchonlybasedon包名(--only-name)>composersearch-nlaravel#只根据包的类型匹配(--type)>composersearchlaravel-tprojectcreate-project(初始化项目)这个命令一般我们在初始化的时候用到带框架的项目,例如:我要用laravel框架开发一个博客系统,初始项目初始化:#Initializeproject>composercreate-projectlaravel/laravelblog注:create等同于create-project,因为composer可以根据create唯一确定命令为create-project。事实上,只要对应的命令是唯一的,composer就会执行任何缩写。dump-autoload(autoload)当修改composer.json文件的autoload属性值时,需要执行这条命令才能生效:#autoload>composerdump-autoloadconfig(configuration)查看配置信息。例如:#查看当前项目的配置信息(--list)>composerconfig-l#查看全局配置信息(--global--list)>composerconfig-g-l注:全局配置信息为在主目录中。在composer文件夹下,名字是config.json。配置命令有一个常见的使用场景:切换全局镜像#切换全局镜像>composerconfig-grepos.packagistcomposerhttps://mirrors.aliyun.com/composer/总结本文主要介绍一些常用的composer命令,希望对你有帮助。关注公众号第一时间获取最新消息: