What is composer?
composer是一个php的包管理工具,上面存放着经过php官方维护和筛选的包,它的目的使得项目的扩展维护更加简单,代码更加简洁.
它的官网是 https://getcomposer.org/ 不过因为众所周知的原因,如果要访问的话,需要自备梯子
好在还有中文官网可以访问啊 中文官网 https://www.phpcomposer.com/ 不过挺坑的 .有的时候镜像源都不能用,前段时间因为欠费停用了好几个月,也是可以了
详细的安装过程官网上都有,在此不再赘述 下面 我来说下安装和使用时的注意事项
composer安装好后,运行 composer -V 如果一切ok的话 输出类似这样
接下来 可以使用 composer -h 查看使用帮助
>composer --raw
这个就是帮助composer 在安装后会自己生成一个公共的配置文件 这些文件包含composer.json 等文件,注意这个文件是它的全局配置文件,如果没有生成
可以手动生成,(使用 composer init)生成 它会默认使用这个安装目录下的文件的配置
可以使用composer global 来配置和使用这个文件
当然,如果你想单独给一个项目使用不同的配置的话,可以单独在项目里配置composer.json文件
下面来看常用的命令
composer install [packagename] 安装指定的包名 #这里的packagename的包名是从https://packagist.org/获取的包名,不是随便写的
#如果省略packagename的话,则会安装整个composer.json文件中所有的包名
composer update [packagename] 更新包 这个是获取整个文件中最新的包名 ,更新应用到项目中
composer require packagename 这个packagename 是必须的,意思是单独获取指定(版本)的包名
composer clear 清除公共配置文件的缓存
composer selfupdate 更新composer本身的版本 这里注意不是项目是本身
排错常用
compoer why-not 查看这个包的安装或者更新 哪里有问题
安装完扩展包后,会自动生成composer.lock文件 如果想重新安装,手动删除这个文件
compoer validate 验证composer.lock和composer.json中是否有语法错误
最常见的就是你的php版本和composer的包要求的版本不一样 例如
composer require phpunit/phpunit
这是单元测试的包它要求的版本是7.1以上的,如果你的版本低于7.1,就会报错 所以要升级你的php版本或者安装低版本的包
composer require branchname [versionnumber] 可以安装指定版本的包
composer require ultraware/roles 5.5.0 #这个就是指定的5.5.0版本的包
最后,说下下载时遇到的地址不可用的问题
由于中文网维护的不好,所以有时你需要重新配置别的镜像源安装
composer config [-g] repo.packagist composer https://packagist.laravel-china.org #这个是aravel-china的国内镜像
加上-g 为全局配置,不加为单独的项目配置
网友评论