您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
2-2 composer之require命令
发布时间:2023-05-14 17:27:44编辑:雪饮阅读()
-
这里本来老师是说要将如D:\phpstudy_pro\WWW\www.xyyii.com\basic\vendor整个目录删除,但是我觉得这里是为了安装一个yiisoft/yii2-gii 2.0.4包而已,而由于我本来里面还有一个guzzleHttp的包,所以我是不建议全部删除的。
那么另外一个就是说这里尽量使用composer2的某个版本,不然yiisoft/yii2-gii 2.0.4好像下载不了,我用1.8.5在国内镜像无法下载,使用官方镜像就提示要升级到composer2系列比较好,然后一直卡在那里,那么好吧我就升级到composer2系列了
然后进入如D:\phpstudy_pro\WWW\www.xyyii.com\basic这个目录就能安装yiisoft/yii2-gii 2.0.4这个了,命令如:
D:\phpstudy_pro\Extensions\php\php5.5.9nts\php.exe -c D:\phpstudy_pro\Extensions\php\php5.5.9nts\php.ini D:\phpstudy_pro\Extensions\composer200.phar require yiisoft/yii2-gii 2.0.4
但是这里可能会遇到这样的一个错误
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires yiisoft/yii2-gii 2.0.4 -> satisfiable by yiisoft/yii2-gii[2.0.4].
- yiisoft/yii2-gii 2.0.4 requires yiisoft/yii2 >=2.0.4 -> found yiisoft/yii2[2.0.4, ..., 2.0.47] but the package is fixed to 2.0.3 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
这里重点关注这个lock file
于是我这里的解决方法就是删除如D:\phpstudy_pro\WWW\www.xyyii.com\basic这个目录中的composer.lock文件即可。
我的理解就是这个文件中有yii2.0.3的包,而要安装的这个包是需要yii2.0.4的,如果lock了,就不能自动强制升级了吧。(这样间接的也就新学了一点composer的防止某个包的版本被升级的技巧,哈哈哈)。
、
补充:
上面的方法还是不太妥当,虽然安装成功,但是后面访问控制器的时候有其它的报错,然后我从之前备份的拿过来重新开始安装,最后我的方式是
修改composer.lock中的
yiisoft/yii2包的版本为2.0.4 然后再次执行上面D:\phpstudy_pro\Extensions\php\php5.5.9nts\php.exe -c D:\phpstudy_pro\Extensions\php\php5.5.9nts\php.ini D:\phpstudy_pro\Extensions\composer200.phar require yiisoft/yii2-gii 2.0.4
然后再次报错:
Problem 1
- yiisoft/yii2-composer 2.0.3 requires composer-plugin-api 1.0.0 -> found composer-plugin-api[2.0.0] but it does not match the constraint.
- yiisoft/yii2 2.0.4 requires yiisoft/yii2-composer * -> satisfiable by yiisoft/yii2-composer[2.0.3].
- yiisoft/yii2 is locked to version 2.0.4 and an update of this package was not requested.
这里我的直觉就是这个yii2-composer2.0.3应该要和我们安装的这个yii2-gii2.0.4一样,也应该是2.0.4才好。
于是我update到2.0.4
PS D:\phpstudy_pro\WWW\www.xyyii.com\basic> D:\phpstudy_pro\Extensions\php\php5.5.9nts\php.exe -c D:\phpstudy_pro\Extensions\php\php5.5.9nts\php.ini D:\phpstudy_pro\Extensions\composer200.phar update yiisoft/yii2-composer 2.0.4
然后再次执行上面的
D:\phpstudy_pro\Extensions\php\php5.5.9nts\php.exe -c D:\phpstudy_pro\Extensions\php\php5.5.9nts\php.ini D:\phpstudy_pro\Extensions\composer200.phar require yiisoft/yii2-gii 2.0.4
然后发现没有问题,又把之前的guzzleHttp安装上
D:\phpstudy_pro\WWW\www.xyyii.com\basic>D:\phpstudy_pro\Extensions\php\php5.5.9nts\php.exe -c D:\phpstudy_pro\Extensions\php\php5.5.9nts\php.ini D:\phpstudy_pro\Extensions\composer185.phar require guzzlehttp/guzzle:~5.0
然后也没有问题的
关键字词:composer,require
相关文章
- 再次遭遇可恶的composer require时候的ssl错误
- composer在linux中最简单省事的安装方法(跳过ssl/http
- composer update时忽略平台要求(忽略某些依赖对php版本
- docker-composer創建項目的默認網絡
- docker-composer脚本編寫系列之nginx與php的結合
- 使用php7.3.4与composer安装workerman及composer指定p
- composer降级(为了安装dbunit)
- centos7全局安装composer
- phpunit使用@requires 跳过测试
- elasticSearch创建索引及sense的put请求出现request b