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与XML的PDF文档生成技术
Oct 09 PHP
一个显示天气预报的程序
Oct 09 PHP
小偷PHP+Html+缓存
Dec 20 PHP
php set_time_limit(0) 设置程序执行时间的函数
May 26 PHP
php多功能图片处理类分享(php图片缩放类)
Mar 14 PHP
php中count获取多维数组长度的方法
Nov 03 PHP
php使用iconv中文截断问题的解决方法
Feb 11 PHP
PHP socket 模拟POST 请求实例代码
Jul 18 PHP
php获取给定日期相差天数的方法分析
Feb 20 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
May 20 PHP
Yii框架组件的事件机制原理与用法分析
Apr 07 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
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 session处理的定制
2009/03/16 PHP
php生成静态文件的多种方法分享
2012/07/17 PHP
php魔术方法与魔术变量、内置方法与内置变量的深入分析
2013/06/03 PHP
php将html转为图片的实现方法
2017/05/19 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
php实现微信公众号企业转账功能
2018/10/01 PHP
点图片上一页下一页翻页效果
2008/07/09 Javascript
类似CSDN图片切换效果脚本
2009/09/17 Javascript
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
Chrome扩展页面动态绑定JS事件提示错误
2014/02/11 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
分享自己用JS做的扫雷小游戏
2016/02/17 Javascript
JavaScript实现简单的拖动效果
2016/07/02 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
2019/12/26 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
Python批量重命名同一文件夹下文件的方法
2015/05/25 Python
Python编程中的文件操作攻略
2015/10/16 Python
python一键升级所有pip package的方法
2017/01/16 Python
Python 学习教程之networkx
2019/04/15 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
生产主管岗位职责
2013/11/10 职场文书
汽车技术服务与营销专业推荐信
2013/11/29 职场文书
2014婚礼司仪主持词
2014/03/14 职场文书
信仰心得体会
2014/09/05 职场文书
2014党员学习习主席讲话思想汇报
2014/09/15 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs