Composer设置忽略版本匹配的方法

 更新时间:2016年04月27日 10:46:10   作者:小谈  
Composer是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。接下来通过本文给大家介绍Composer设置忽略版本匹配的方法,需要的朋友参考下吧

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实例分享之mysql数据备份

    php实例分享之mysql数据备份

    本代码实现了表结构和数据完全分开,默认有一个文件会记录所有表的结构,然后表中数据的备份 如果超过分卷的大小则会分成多个文件,不然则一个文件
    2014-05-05
  • PHP生成HTML静态页面实例代码

    PHP生成HTML静态页面实例代码

    本程序作用是从PHP生成HTML静态页面并存储到以年份和月份为名称创建的目录。读取全部数据批量生成,全部生成后弹出提示。可指定批次生成数量,建议不超过800,否则执行速度会有问题。
    2008-08-08
  • Yii2框架之ListView小部件的使用方法

    Yii2框架之ListView小部件的使用方法

    这篇文章主要为大家详细介绍了Yii2之ListView小部件的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • android上传图片到PHP的过程详解

    android上传图片到PHP的过程详解

    这篇文章主要介绍了android上传图片到PHP的过程详解,需要的朋友可以参考下
    2015-08-08
  • Yii框架日志记录Logging操作示例

    Yii框架日志记录Logging操作示例

    这篇文章主要介绍了Yii框架日志记录Logging操作,结合实例形式分析了Yii框架日志记录Logging模块相关配置与简单使用技巧,需要的朋友可以参考下
    2018-07-07
  • php通过GD库实现验证码功能

    php通过GD库实现验证码功能

    这篇文章主要介绍了php通过GD库实现验证码功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • php屏蔽错误及提示的方法

    php屏蔽错误及提示的方法

    在本篇文章里小编给大家分享的是关于php屏蔽错误及提示的方法,需要的朋友们可以学习下。
    2020-05-05
  • PHP书写格式详解(必看)

    PHP书写格式详解(必看)

    下面小编就为大家带来一篇PHP书写格式详解(必看)。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • 将php数组输出html表格的方法

    将php数组输出html表格的方法

    这篇文章主要介绍了将php数组输出html表格的方法,需要的朋友可以参考下
    2014-02-02
  • 大家在抢红包,程序员在研究红包算法

    大家在抢红包,程序员在研究红包算法

    微信红包在春节的火爆程度不言而喻,广告主投入5亿现金红包,与央视羊年春晚独家合作起到了巨大的推动作用。这就像一针大补丸,在短时间内给微信带来了极大的关注度与流量。下面通过本篇文章学习下抢红包算法是怎样的,小伙伴们快来一起学习吧
    2015-08-08

最新评论