У меня возникла необычная ошибка при выполнении команды 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
Да, но вы также можете моделировать платформы, как указано в ответе.
^7.3 означает версию 7.3.0 или выше. Однако он не совместим с версией 8 или более поздней.
Это зависит. Вы через докер работаете? Это означает, что ваш контейнер имеет необходимую версию php. и если вы попробуете вне своего обновления и ваша версия php вашей ОС выше, вы получите это предупреждение. Один из способов решить эту проблему — запустить обновление композитора с флагом --ignore-platform-reqs.
Вы также можете использовать 'composer install --ignore-platform-reqs'. Это может сработать в вашем случае.
Это сделало это для меня. Спасибо.
Дальнейшее чтение о написании ограничений версии.
Это потому, что в вашем проекте в файле composer.json у вас есть:
"require": {
"php": ">=7.3",
.....
},
Попробуйте обновить это требование до:
"require": {
"php": "^7.3||^8.0",
.....
},
следует использовать двойную трубу вместо одинарной. единственный все еще работает, но только для потомков: github.com/composer/composer/issues/6755
Это не подходящее решение для этой проблемы. Это не работает. Вы можете увидеть код отсюда prnt.sc/yoo7gw и ошибку здесь prnt.sc/yoo802
Я не согласен... У вас есть: 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 или выше.
не работал для меня! Все равно получите тот же результат.
composer install --ignore-platform-reqs
Подробнее о синтаксисе версий: getcomposer.org/doc/articles/…
composer update --no-scripts
В качестве проверки работоспособности также проверьте используемую версию PHP: env php -v
и убедитесь, что она действительно соответствует тому, что, по вашему мнению, должно быть.
"require": { "php": "^7.3|^8.0", } Обновите ваш composer.json, как указано выше.. если не работает.. попробуйте обновить композитор с помощью тега --no-scripts
Наверняка эти ошибки композитора совсем не ясны