• 技术文章 >开发工具 >composer

    Composer如何设置忽略版本匹配

    藏色散人藏色散人2019-11-27 17:49:53转载2187
    下面由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,大功告成。

    以上就是Composer如何设置忽略版本匹配的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:jb51,如有侵犯,请联系admin@php.cn删除
    专题推荐:Composer
    上一篇:composer.lock文件有什么作用 下一篇:CI框架使用composer安装的依赖包步骤与方法介绍
    线上培训班

    相关文章推荐

    • Composer 常用命令汇总• composer install与composer update的区别• 如何用composer开发自己的php扩展包• composer.lock文件有什么作用

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网