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代码把全角数字转为半角数字
Dec 10 PHP
php 格式化数字的时候注意数字的范围
Apr 13 PHP
Zend Studio (eclipse)使用速度优化方法
Mar 23 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
php模板函数 正则实现代码
Oct 15 PHP
PHP5中GD库生成图形验证码(有汉字)
Jul 28 PHP
php递归获取目录内文件(包含子目录)封装类分享
Dec 25 PHP
DOM基础及php读取xml内容操作的方法
Jan 23 PHP
php内存缓存实现方法
Jan 24 PHP
WordPress中获取指定分类及其子分类下的文章数目
Dec 31 PHP
PHP创建/删除/复制文件夹、文件
May 03 PHP
php单链表实现代码分享
Jul 04 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
curl实现站外采集的方法和技巧
2014/01/31 PHP
强制PHP命令行脚本单进程运行的方法
2014/04/15 PHP
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
基于JS代码实现导航条弹出式悬浮菜单
2016/06/17 Javascript
jquery点击展示与隐藏更多内容
2016/12/03 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
详解nodejs 开发企业微信第三方应用入门教程
2019/03/12 NodeJs
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
Angular8 Http拦截器简单使用教程
2019/08/20 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
python3 图片referer防盗链的实现方法
2018/03/12 Python
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
python使用matplotlib画柱状图、散点图
2019/03/18 Python
Python matplotlib画曲线例题解析
2020/02/07 Python
python 牛顿法实现逻辑回归(Logistic Regression)
2020/10/15 Python
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
2014/06/23 HTML / CSS
使用html5 canvas 画时钟代码实例分享
2015/11/11 HTML / CSS
高品质和独特的产品世界:Creations and Collections
2018/01/07 全球购物
兰蔻法国官方网站:Lancôme法国
2020/02/22 全球购物
UNOde50美国官网:西班牙珠宝品牌
2020/08/15 全球购物
关于赌博的检讨书
2014/01/08 职场文书
农民致富事迹材料
2014/01/23 职场文书
高中学生评语大全
2014/04/25 职场文书
2016年情人节问候语
2015/11/11 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
MySQL创建管理子分区
2022/04/13 MySQL