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 cli 方式 在crotab中运行解决
Feb 08 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
php实现按文件名搜索文件的远程文件查找器
May 10 PHP
php去掉文件前几行的方法
Jul 29 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
Yii2增加验证码步骤详解
Apr 25 PHP
微信支付开发动态链接Native支付
Jul 12 PHP
php判断是否为ajax请求的方法
Nov 29 PHP
基于win2003虚拟机中apache服务器的访问
Aug 01 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
Oct 12 PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
May 28 PHP
php字符串函数 str类常见用法示例
May 15 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
文件系统基本操作类
2006/11/23 PHP
php用正则表达式匹配中文实例详解
2013/11/06 PHP
PHP设置进度条的方法
2015/07/08 PHP
formvalidator验证插件中有关ajax验证问题
2013/01/04 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
js出生日期 年月日级联菜单示例代码
2014/01/10 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
jquery popupDialog 使用 加载jsp页面的方法
2016/10/25 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
vue.js实例对象+组件树的详细介绍
2017/10/20 Javascript
mpvue开发音频类小程序踩坑和建议详解
2019/03/12 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
2019/08/02 jQuery
js页面加载后执行的几种方式小结
2020/01/30 Javascript
vue@cli3项目模板怎么使用public目录下的静态文件
2020/07/07 Javascript
Python 字典dict使用介绍
2014/11/30 Python
Python 的 Socket 编程
2015/03/24 Python
Python3.2模拟实现webqq登录
2016/02/15 Python
pandas计算最大连续间隔的方法
2019/07/04 Python
Python实现非正太分布的异常值检测方式
2019/12/09 Python
python爬虫实现获取下一页代码
2020/03/13 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
2020/07/14 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
大学生应聘推荐信范文
2013/11/19 职场文书
生产部经理岗位职责
2013/12/16 职场文书
办公室助理岗位职责
2013/12/25 职场文书
敬老文明号事迹材料
2014/01/16 职场文书
广告创意求职信
2014/03/17 职场文书
学雷锋演讲稿汇总
2014/05/10 职场文书
商业企业管理专业求职信
2014/07/10 职场文书
车辆委托书范本
2014/10/05 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
Mysql Show Profile
2021/04/05 MySQL
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android