Composer设置忽略版本匹配的方法


Posted in PHP onApril 27, 2016

Composer简介

Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

执行composer install遇到错误:Your requirements could not be resolved to an installable set of packages. 这是因为不匹配composer.json要求的版本。

完整错误如下:

vagrant@homestead:/usr/share/nginx/html/laravel-blog$ sudo composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for doctrine/instantiator 1.0.3 -> satisfiable by doctrine/instantiator[1.0.3].
- doctrine/instantiator 1.0.3 requires php ~5.3 -> your PHP version (7.0.3) does not satisfy that requirement.
Problem 2
- doctrine/instantiator 1.0.3 requires php ~5.3 -> your PHP version (7.0.3) does not satisfy that requirement.
- phpunit/phpunit-mock-objects 2.3.0 requires doctrine/instantiator ~1.0,>=1.0.1 -> satisfiable by doctrine/instantiator[1.0.3].
- Installation request for phpunit/phpunit-mock-objects 2.3.0 -> satisfiable by phpunit/phpunit-mock-objects[2.3.0].

提示我的PHP 7版本太高,不符合composer.json需要的版本,但是在PHP 7下应该也是可以运行的,composer可以设置忽略版本匹配,命令是:

composer install --ignore-platform-reqs

or

composer update --ignore-platform-reqs

再次执行composer命令可以正常安装包了。

如果提示警告:

Cannot create cache directory /home/vagrant/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory /home/vagrant/.composer/cache/files/, or directory is not writable. Proceeding without cache

这是在虚拟机中执行composer,提示这个目录没有可写权限,composer无法缓存下载的包,这样就每次都得重新下载,把目录改成可写可读即可。

sudo chmod -R 777 /home/vagrant/.composer/cache/files/

另外,在虚拟机中也设置composer为国内镜像,不然下载速度慢的要死,执行:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

OK,大功告成。

PHP 相关文章推荐
解决File size limit exceeded 错误的方法
Jun 14 PHP
解析php file_exists无效的解决办法
Jun 26 PHP
php格式化日期和时间格式化示例分享
Feb 24 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
Apr 05 PHP
php魔术函数__call()用法实例分析
Feb 13 PHP
php随机生成数字字母组合的方法
Mar 18 PHP
php数字每三位加逗号的功能函数
Oct 22 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
PHP时间戳和日期相互转换操作实例小结
Dec 18 PHP
详解PHP队列的实现
Mar 14 PHP
wordpress自定义标签云与随机获取标签的方法详解
Mar 22 PHP
PHP策略模式写法
Apr 01 PHP
抛弃 PHP 代价太高
Apr 26 #PHP
PHP调用存储过程返回值不一致问题的解决方法分析
Apr 26 #PHP
PHP抓取及分析网页的方法详解
Apr 26 #PHP
深入浅析yii2-gii自定义模板的方法
Apr 26 #PHP
基于PHP实现通过照片获取ip地址
Apr 26 #PHP
各种快递查询--Api接口
Apr 26 #PHP
浅析Yii2集成富文本编辑器redactor实例教程
Apr 25 #PHP
You might like
PHPMailer使用教程(PHPMailer发送邮件实例分析)
2012/12/06 PHP
PHP中的Memcache详解
2014/04/05 PHP
php使用parse_url和parse_str解析URL
2015/02/22 PHP
php模拟服务器实现autoindex效果的方法
2015/03/10 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
JavaScript 获得选中文本内容的方法
2009/02/15 Javascript
jquery阻止后续事件只执行第一个事件
2014/07/24 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
nodejs发送http请求时遇到404长时间未响应的解决方法
2017/12/10 NodeJs
使用classList来实现两个按钮样式的切换方法
2018/01/24 Javascript
JS实现为动态创建的元素添加事件操作示例
2018/03/17 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
2018/03/28 jQuery
vue实现侧边栏导航效果
2019/10/21 Javascript
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
[01:09]模型精美,特效酷炫!TI9不朽宝藏Ⅰ鉴赏
2019/05/10 DOTA
Python验证码识别的方法
2015/07/10 Python
Python3.2模拟实现webqq登录
2016/02/15 Python
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
Python实现连接postgresql数据库的方法分析
2017/12/27 Python
Python3 导入上级目录中的模块实例
2019/02/16 Python
python实现移位加密和解密
2019/03/22 Python
python 默认参数相关知识详解
2019/09/18 Python
python numpy之np.random的随机数函数使用介绍
2019/10/06 Python
Python作用域与名字空间原理详解
2020/03/21 Python
解决Keras自带数据集与预训练model下载太慢问题
2020/06/12 Python
英国领先的酒类网上商城:TheDrinkShop
2017/03/16 全球购物
Nº21官方在线商店:numeroventuno.com
2019/09/26 全球购物
护理个人求职信范文
2014/01/08 职场文书
淘宝店铺营销方案
2014/02/13 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
2015小学教师德育工作总结
2015/05/12 职场文书
学校安全管理制度
2015/08/06 职场文书
详解用Python把PDF转为Word方法总结
2021/04/27 Python
Java 语言中Object 类和System 类详解
2021/07/07 Java/Android