Ошибка «Root composer.json требует php ^ 7.3, но ваша версия php (8.0.0) не удовлетворяет этому требованию»

У меня возникла необычная ошибка при выполнении команды composer install.

Требуется PHP 7.3, а у меня PHP 8.0.0. Этот вопрос отличается от Переопределить базовую зависимость PHP в композиторе, потому что у меня более высокая версия PHP (8.0.0), чем требуется. Почему это не работает?

Problem 1
    - Root composer.json requires php ^7.3 but your php version (8.0.0) does not satisfy that requirement.         Problem 2
    - asm89/stack-cors is locked to version v2.0.1 and an update of this package was not requested.
    - asm89/stack-cors v2.0.1 requires php ^7.0 -> your php version (8.0.0) does not satisfy that requirement.   Problem 3
    - laravel/framework is locked to version v8.10.0 and an update of this package was not requested.
    - laravel/framework v8.10.0 requires php ^7.3 -> your php version (8.0.0) does not satisfy that requirement.   Problem 4
    - laravel/tinker is locked to version v2.4.2 and an update of this package was not requested.
    - laravel/tinker v2.4.2 requires php ^7.2 -> your php version (8.0.0) does not satisfy that requirement.   Problem 5
    - facade/flare-client-php is locked to version 1.3.6 and an update of this package was not requested.
    - facade/flare-client-php 1.3.6 requires php ^7.1 -> your php version (8.0.0) does not satisfy that requirement.   Problem 6
    - facade/ignition is locked to version 2.4.1 and an update of this package was not requested.
    - facade/ignition 2.4.1 requires php ^7.2.5 -> your php version (8.0.0) does not satisfy that requirement.   Problem 7
    - fzaninotto/faker is locked to version v1.9.1 and an update of this package was not requested.
    - fzaninotto/faker v1.9.1 requires php ^5.3.3 || ^7.0 -> your php version (8.0.0) does not satisfy that requirement.   Problem 8
    - nunomaduro/collision is locked to version v5.0.2 and an update of this package was not requested.
    - nunomaduro/collision v5.0.2 requires php ^7.3 -> your php version (8.0.0) does not satisfy that requirement.   Problem 9
    - asm89/stack-cors v2.0.1 requires php ^7.0 -> your php version (8.0.0) does not satisfy that requirement.
    - fruitcake/laravel-cors v2.0.2 requires asm89/stack-cors ^2.0.1 -> satisfiable by asm89/stack-cors[v2.0.1].
    - fruitcake/laravel-cors is locked to version v2.0.2 and an update of this package was not requested.

Из комментариев выяснилось, что следующая команда будет работать некоторое время. Это также работает для моего случая

composer install --ignore-platform-reqs
stackoverflow.com/questions/32838881/… Мой вопрос отличается от этого тем, что у меня версия выше, чем требуется.
NIKHIL NEDIYODATH 26.12.2020 10:08

Да, но вы также можете моделировать платформы, как указано в ответе.

nice_dev 26.12.2020 10:15

^7.3 означает версию 7.3.0 или выше. Однако он не совместим с версией 8 или более поздней.

Jack Ou 05.01.2021 23:11

Это зависит. Вы через докер работаете? Это означает, что ваш контейнер имеет необходимую версию php. и если вы попробуете вне своего обновления и ваша версия php вашей ОС выше, вы получите это предупреждение. Один из способов решить эту проблему — запустить обновление композитора с флагом --ignore-platform-reqs.

Maik Lowrey 10.02.2021 10:48

Вы также можете использовать 'composer install --ignore-platform-reqs'. Это может сработать в вашем случае.

Yagnesh bhalala 28.08.2021 20:25

Это сделало это для меня. Спасибо.

hackernewbie 05.10.2021 19:25

Дальнейшее чтение о написании ограничений версии.

Pathros 07.03.2022 23:20
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
137
7
390 431
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это потому, что в вашем проекте в файле composer.json у вас есть:

"require": {
    "php": ">=7.3",
    .....
},

Попробуйте обновить это требование до:

"require": {
    "php": "^7.3||^8.0",
    .....
},

следует использовать двойную трубу вместо одинарной. единственный все еще работает, но только для потомков: github.com/composer/composer/issues/6755

godbout 21.01.2021 17:19

Это не подходящее решение для этой проблемы. Это не работает. Вы можете увидеть код отсюда prnt.sc/yoo7gw и ошибку здесь prnt.sc/yoo802

Md Rasheduzzaman 08.02.2021 05:49

Я не согласен... У вас есть: gabrielbull/ups-api 0.8.0 требует php ^5.5 || ^7.0 -> ваша версия php (8.0.1) не удовлетворяет этому требованию. Поэтому вы должны использовать интерпретатор php версии 5.5 или 7.0 и выше. Но у вас 8.0.1. Итак, прежде всего, вы должны обновить пакет gabrielbull/ups-api до версии 1.2.0 или выше.

VirCom 10.02.2021 07:29

не работал для меня! Все равно получите тот же результат.

Fariman Kashani 29.03.2021 09:10
composer install --ignore-platform-reqs
Bira 21.04.2021 03:40

Подробнее о синтаксисе версий: getcomposer.org/doc/articles/…

Pathros 07.03.2022 23:18
composer update --no-scripts
Fawaz Al Romy 25.05.2022 14:54

В качестве проверки работоспособности также проверьте используемую версию PHP: env php -v и убедитесь, что она действительно соответствует тому, что, по вашему мнению, должно быть.

Praj Basnet 02.06.2022 22:15

"require": { "php": "^7.3|^8.0", } Обновите ваш composer.json, как указано выше.. если не работает.. попробуйте обновить композитор с помощью тега --no-scripts

Jopsy 17.08.2022 07:54

Наверняка эти ошибки композитора совсем не ясны

Decagrog 21.02.2023 16:55

Другие вопросы по теме