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调用Oracle存储过程的方法
Sep 12 PHP
PHP中获取文件扩展名的N种方法小结
Feb 27 PHP
3款值得推荐的微信开发开源框架
Oct 28 PHP
php生成高清缩略图实例详解
Dec 07 PHP
yii实现使用CUploadedFile上传文件的方法
Dec 28 PHP
thinkPHP查询方式小结
Jan 09 PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 PHP
php字符集转换
Jan 23 PHP
YII框架批量插入数据的方法
Mar 18 PHP
php使用curl实现ftp文件下载功能
May 16 PHP
php ZipArchive实现多文件打包下载实例
Oct 31 PHP
PHP $O00OO0=urldecode & eval 解密,记一次商业源码的去后门
Sep 13 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
介绍几个array库的新函数 php
2006/12/29 PHP
php获得当前的脚本网址
2007/12/10 PHP
php递归方法实现无限分类实例代码
2014/02/28 PHP
php过滤html标记属性类用法实例
2014/09/23 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
PHP小偷程序的设计与实现方法详解
2016/10/15 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
PHP levenshtein()函数用法讲解
2019/03/08 PHP
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
浅谈JS继承_借用构造函数 & 组合式继承
2016/08/16 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
js实现下一页页码效果
2017/03/07 Javascript
React.js绑定this的5种方法(小结)
2018/06/05 Javascript
通过JS运行机制的角度说说作用域
2019/03/12 Javascript
[05:31]DOTA2英雄梦之声_第04期_光之守卫
2014/06/23 DOTA
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
基python实现多线程网页爬虫
2015/09/06 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
pycharm 取消默认的右击运行unittest的方法
2018/11/29 Python
Python利用逻辑回归分类实现模板
2020/02/15 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
美国知名的时尚购物网站:Anthropologie
2016/12/22 全球购物
喜诗官方在线巧克力店:See’s Candies
2017/01/01 全球购物
大课间体育活动方案
2014/03/12 职场文书
财务担保书范文
2014/04/02 职场文书
大学新生军训方案
2014/05/03 职场文书
毕业实习感受与体会
2015/05/26 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
jquery插件实现图片悬浮
2021/04/16 jQuery
总结Python使用过程中的bug
2021/06/18 Python
教你快速构建一个基于nginx的web集群项目
2021/11/27 Servers
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers