一,官方命令行:
https://docs.phpcomposer.com/03-cli.html
二,常用命令与场景说明:
1、composer list:获取帮助信息; 2、composer init:以交互方式填写composer.json文件信息; 3、composer install:如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖; PS: 4、composer update:获取依赖的最新版本,升级composer.lock文件; PS:可以指定扩展包 composer update vendor/package 在手动修改 composer.json 添加扩展包后,composer update new/package 进行指定扩展包更新的方式,也可以正确的安装, 不过不建议使用这种方法,因为,一旦你忘记敲定后面的扩展包名,就会进入万劫不复的状态 5、composer require:添加新的依赖包到composer.json文件中并执行更新; PS:可以指定扩展包的版本 composer require "foo/bar:1.0.0" 这也是安装扩展扩展包的推荐的标准方法! 6、composer search:在当前项目中搜索依赖包; 7、composer show:列举所有可用的资源包; 8、composer validate:检测composer.json文件是否有效; 9、composer self-update:将composer工具更新到最新版本; PS:更新 composer 本身,请经常执行 composer selfupdate 以保持 Composer 一直是最新版本。 10、composer create-project:基于composer创建一个新的项目; 11、composer dump-autoload:在添加新的类和目录映射是更新autoloader PS:我们更改了 composer.json 文件中的 autoload 时,需要执行 composer dumpautoload,来让 autoload 立即生效。而不必执行 install 或 update 命令。 12、composer remove twbs/bootstrap :删除依赖后还需要去vender文件夹里,手动删除 PS:这只是删除了依赖关系,不会自动加载,但其依赖包还在vender文件夹里,可手动删除 13、composer config -gl: 查看全局设置 14、composer info: 查看已存在的包(需要在项目composer.json的目录里面使用) 15、设置composer镜像为国内镜像: composer config -g repo.packagist composer https://packagist.phpcomposer.com 上面地址前几天崩了,可以用下面这个: composer config -g repo.packagist composer https://mirrors.aliyun.com/composer 16、composer clearcache:清理缓存
三、问题汇总
1、composer.lock 文件
里面保存着对每一个代码依赖的版本记录,提交到版本控制器中,并配合composer install 使用,保证了团队所有协作者开发环境、线上生产环境中运行的代码版本的一致性。
2、composer update 命令
composer update 的逻辑是按照 composer.json 指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是 所有扩展包,举个例子,你在项目一开始的时候使用了 monolog,当时的配置信息是
"monolog/monolog": "1.*"
安装的是 monolog 1.1 版本,而一个多月以后的现在,monolog 已经是 1.2 了,运行命令后直接更新到 1.2,这时项目并没有针对 1.2 进行过测试,项目一下子变得很不稳定,情况有时候会比这个更糟糕,尤其是在一个庞大的项目中,你没有对项目写完整覆盖测试的情况,什么东西坏掉了你都不知道。
原文地址:https://www.cnblogs.com/tkzc2013/p/12101263.html
时间: 2024-07-31 06:46:33