【问题标题】:Composer instalation failed php version conflictComposer安装失败php版本冲突
【发布时间】:2019-10-06 15:59:30
【问题描述】:

我要在我的 laravel 项目中安装 composer 我遇到了一个错误 您的需求无法解析为一组可安装的软件包。

我试过了

/var/www/html/pro $ composer install

然后我得到了

Problem 1
    - This package requires php ^7.1.3 but your PHP version (7.0.25) does not satisfy that requirement.
  Problem 2
    - Installation request for joshbrw/laravel-module-installer ^0.1.4 -> satisfiable by joshbrw/laravel-module-installer[v0.1.4].
    - joshbrw/laravel-module-installer v0.1.4 requires composer-plugin-api ^1.1 -> no matching package found.
  Problem 3
    - laravel/framework v5.7.9 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.8 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.7 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.6 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.5 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.4 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.3 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.28 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.27 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.26 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.25 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.24 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.23 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.22 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.21 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.20 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.2 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.19 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.18 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.17 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.16 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.15 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.14 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.13 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.12 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.11 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.10 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.1 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.0 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework 5.7.x-dev requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - Installation request for laravel/framework 5.7.* -> satisfiable by laravel/framework[5.7.x-dev, v5.7.0, v5.7.1, v5.7.10, v5.7.11, v5.7.12, v5.7.13, v5.7.14, v5.7.15, v5.7.16, v5.7.17, v5.7.18, v5.7.19, v5.7.2, v5.7.20, v5.7.21, v5.7.22, v5.7.23, v5.7.24, v5.7.25, v5.7.26, v5.7.27, v5.7.28, v5.7.3, v5.7.4, v5.7.5, v5.7.6, v5.7.7, v5.7.8, v5.7.9].

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.

Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.




 similarly i tried
     /var/www/html/prol $ composer require spatie/laravel-medialibrary

    Got error

Using version ^6.9 for spatie/laravel-medialibrary
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - This package requires php ^7.1.3 but your PHP version (7.0.25) does not satisfy that requirement.
  Problem 2
    - Installation request for joshbrw/laravel-module-installer ^0.1.4 -> satisfiable by joshbrw/laravel-module-installer[v0.1.4].
    - joshbrw/laravel-module-installer v0.1.4 requires composer-plugin-api ^1.1 -> no matching package found.
  Problem 3
    - laravel/framework v5.7.9 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.8 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.7 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.6 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.5 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.4 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.3 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.28 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.27 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.26 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.25 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.24 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.23 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.22 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.21 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.20 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.2 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.19 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.18 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.17 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.16 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.15 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.14 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.13 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.12 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.11 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.10 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.1 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework v5.7.0 requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - laravel/framework 5.7.x-dev requires php ^7.1.3 -> your PHP version (7.0.25) does not satisfy that requirement.
    - Installation request for laravel/framework 5.7.* -> satisfiable by laravel/framework[5.7.x-dev, v5.7.0, v5.7.1, v5.7.10, v5.7.11, v5.7.12, v5.7.13, v5.7.14, v5.7.15, v5.7.16, v5.7.17, v5.7.18, v5.7.19, v5.7.2, v5.7.20, v5.7.21, v5.7.22, v5.7.23, v5.7.24, v5.7.25, v5.7.26, v5.7.27, v5.7.28, v5.7.3, v5.7.4, v5.7.5, v5.7.6, v5.7.7, v5.7.8, v5.7.9].

潜在原因: - 包名中的拼写错误 - 根据您的最低稳定性设置,该软件包在足够稳定的版本中不可用 有关详细信息,请参阅https://getcomposer.org/doc/04-schema.md#minimum-stability

【问题讨论】:

  • 我投票结束这个问题,因为它可以通过阅读错误消息来解决。
  • 您尝试过什么来解决错误?

标签: laravel composer-php


【解决方案1】:

laravel 不支持你的 php 版本。 你有 php 7.0.25,但 laravel 需要最低 php 7.1.3。

解决方案:将您的 php 升级到 7.1.3 或更高版本

最新 laravel 版本的服务器要求:

PHP >= 7.1.3
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
XML PHP Extension
Ctype PHP Extension
JSON PHP Extension
BCMath PHP Extension

来源:https://laravel.com/docs/5.8#server-requirements

您可以使用以下命令升级您的 php 版本:

  1. 添加 ondrej/php 存储库:

sudo add-apt-repository ppa:ondrej/php

  1. 更新您的包裹清单:

sudo apt-get 更新

  1. 安装php 7.3:

sudo apt install php7.3 php7.3-common php7.3-cli

  1. 安装一些 php 7.3 扩展:

apt install php7.3-bcmath php7.3-bz2 php7.3-curl php7.3-gd php7.3-intl php7.3-json php7.3-mbstring php7.3-readline php7.3-xml php7.3-zip

  1. 禁用 php 7.0:

sudo a2dismod php7.0

  1. 启用 php 7.3:

sudo a2enmod php7.3

  1. 从您的系统中彻底删除 php 7.0:

apt purge php7.0 php7.0-common php7.0-cli

【讨论】:

  • 你将如何删除包?没有遇到其他作曲家问题
【解决方案2】:

您需要更新您的 php 版本。使用以下行来更新 php

sudo apt-add-repository ppa:ondrej/php
sudo apt-get update
sudo apt install php7.1     //install php version 7.1 or other(5.6, 7.2)
sudo a2dismod php7.0        //Disable php 7.0
sudo a2enmod php7.1         //Enable php version 7.1

【讨论】:

  • 谢谢,但出现错误找不到 glob 'php7.1' 的任何包
  • 这可能是 ppa:ondrej/php 的原因。我已经更新了答案,因为它在评论中看起来不太好
【解决方案3】:

我用这个命令解决了这个问题,你只需要更新php的版本 composer update php

for windows users

【讨论】:

  • 注意:非常简短的答案和/或回帖者的问题可能应该是 cmets。你只需要 50 个代表点就可以在一个问题下发表评论 - 你能把它移到那里吗?
  • 请分享更多细节,composer update php 没有意义,特别是如果安装的 PHP 版本(使用 composer 不会更改!)比要安装的软件包的最低要求旧
【解决方案4】:

这应该可以挽救局面

composer install --ignore-platform-reqs

【讨论】:

    猜你喜欢
    • 2019-08-11
    • 2021-09-21
    • 2020-07-05
    • 1970-01-01
    • 2013-05-03
    • 2021-08-10
    • 2016-01-09
    • 1970-01-01
    • 2021-08-14
    相关资源
    最近更新 更多