加入收藏 | 设为首页 | 会员中心 | 我要投稿 鞍山站长网 (https://www.0412zz.cn/)- 智能营销、数据计算、数据可视化、负载均衡、研发安全!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-07-15 12:56:26 所属栏目:PHP教程 来源:互联网
导读:Composer是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。接下来通过本文给大家介绍Composer设置忽略版本匹配的方法,需要的朋友参考下吧 Composer简介 Compo
  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,大功告成。

(编辑:鞍山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读