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 相关文章推荐
php discuz 主题表和回帖表的设计
Mar 13 PHP
关于php curl获取301或302转向的网址问题的解决方法
Jun 02 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
Aug 07 PHP
PHP实现读取一个1G的文件大小
Aug 24 PHP
PHP中使用smarty生成静态文件的例子
Apr 24 PHP
php读取torrent种子文件内容的方法(测试可用)
May 03 PHP
微信 getAccessToken方法详解及实例
Nov 23 PHP
php与c 实现按行读取文件实例代码
Jan 03 PHP
laravel多条件查询方法(and,or嵌套查询)
Oct 09 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
Nov 24 PHP
PHP实现文件上传后台处理脚本
Mar 04 PHP
PHP7变量处理机制修改
Mar 09 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
php笔记之:文章中图片处理的使用
2013/04/26 PHP
wamp下修改mysql访问密码的解决方法
2013/05/07 PHP
ThinkPHP跳转页success及error模板实例教程
2014/07/17 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
php实现用户登陆简单实例
2017/04/04 PHP
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
2015/11/24 Javascript
JQuery遍历元素的后代和同胞实现方法
2016/09/18 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
JQuery 进入页面默认给已赋值的复选框打钩
2017/03/23 jQuery
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
vue实现购物车功能(商品分类)
2020/04/20 Javascript
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python 网络编程详解及简单实例
2017/04/25 Python
Python AES加密实例解析
2018/01/18 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
Python实现端口检测的方法
2018/07/24 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
python从list列表中选出一个数和其对应的坐标方法
2019/07/20 Python
Django CBV类的用法详解
2019/07/26 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
2020/05/21 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
基于pycharm 项目和项目文件命名规则的介绍
2021/01/15 Python
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
几个Shell Script面试题
2014/04/18 面试题
采购部经理岗位职责
2014/02/10 职场文书
企业演讲比赛主持词
2014/03/18 职场文书
机关作风整顿个人整改措施2014
2014/09/17 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
获奖感言范文
2015/07/31 职场文书
Golang二维数组的使用方式
2021/05/28 Golang