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 相关文章推荐
人大复印资料处理程序_查询篇
Oct 09 PHP
将RTF格式的文件转成HTML并在网页中显示的代码
Oct 09 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 PHP
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
Sep 05 PHP
在smarty中调用php内置函数的方法
Feb 07 PHP
php实现在服务器上创建目录的方法
Mar 16 PHP
PHP开启opcache提升代码性能
Apr 26 PHP
php遍历类中包含的所有元素的方法
May 12 PHP
微信支付开发发货通知实例
Jul 12 PHP
php+mysql开发中的经验与常识小结
Mar 25 PHP
PHP实现关键字搜索后描红功能示例
Jul 03 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 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
mysql5详细安装教程
2007/01/15 PHP
利用PHP扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
php浏览历史记录的方法
2015/03/10 PHP
番茄的表单验证类代码修改版
2008/07/18 Javascript
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
2011/10/22 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
你不需要jQuery(三) 新AJAX方法fetch()
2016/06/14 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
JS中的三个循环小结
2017/06/20 Javascript
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
Python中functools模块的常用函数解析
2016/06/30 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
Python爬虫包BeautifulSoup学习实例(五)
2018/06/17 Python
pycharm创建一个python包方法图解
2019/04/10 Python
Python正则表达式匹配和提取IP地址
2019/06/06 Python
django-初始配置(纯手写)详解
2019/07/30 Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
2020/01/14 Python
美国钻石商店:Zales
2016/11/20 全球购物
外贸业务员工作职责
2014/01/06 职场文书
妇产医师自荐信
2014/01/29 职场文书
党员个人总结范文
2015/02/14 职场文书
Python 实现定积分与二重定积分的操作
2021/05/26 Python
浅析Django接口版本控制
2021/06/26 Python
Vue Element plus使用方法梳理
2022/12/24 Vue.js