composer Your PHP version does not satisfy that requirement Ошибка Решение
Primary tabs
Текст ошибки:
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 (5.5.9) does not satisfy that requirement.
Моя версия php (результат команды php -v):
PHP 7.1.9-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Sep 2 2017 05:56:43) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.1.9-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2017, by Zend Technologies
В свойствах проекта в IDE стоит версия php 7.0.
Решение
Нужно было внимательнее рассмотреть файл composer.json
Видимо, начиная с определённой версии Symfony, в нём указывается параметр platform в разделе config:
"config": { "platform": { "php": "7.1.3" }, "sort-packages": true },
Необходимо и здесь исправить версию php на более позднюю.
- Log in to post comments
- 23612 reads
vedro-compota
Tue, 01/16/2018 - 13:08
Permalink
значит на той машине версия другая
это интерпретатор командной строки. А вот ваш веб-сервер (или удалённый боевой сервер) может работать с другой версией php. Единственный способ узнать это наверняка -- временно поправить какой-нибудь скрипт........ОБНОВЛЕНО: все очень просто, скорее всего у вас действиельно на каком-либо сервере в командной строке стоит другой интерпретатор, так как композеру все равно с чем работает сервер, ведь он запускает именно командный (командной строки) интерпретатор для работы своих скриптов.ОБНОВЛЕНО: Как выяснилось дело было в параметре platform
_____________
матфак вгу и остальная классика =)
melisa
Tue, 01/16/2018 - 13:11
Permalink
результат такой
vedro-compota
Tue, 01/16/2018 - 13:41
Permalink
не слишком все ясно
вот это конечно лучше проверить точнее, что это за параметр? композера или симфони?
Также надо указать на что на самом деле ругается композер -- и флаг
--ignore-platform-reqs -- что он инорирует -- требование php: или требование platform:?
В данный момент этот ответ скорее сбивает столку.
почему написано "This package" -- надо по-хорошему понять какой это пакет. Или имеется ввиду весь проект.
_____________
матфак вгу и остальная классика =)
melisa
Tue, 01/16/2018 - 13:58
Permalink
пояснения
, т.к. composer.json формировался им при установке
Здесь под словом package подразумевается зависимость (строка "php": ">=7.1.3"), указанная в разделе require.
vedro-compota
Tue, 01/16/2018 - 14:26
Permalink
platform composer -- что это такое
вот как раз у меня сомнения в том, что вы это прочитали) И замечание означает не то, что надо ещё раз кинуть мне ссылка, а то что вопрос надо раскрыть подробнее. Прокоменитровав зачем вообще нужна опция platform. Но я сделаю это за вас )).
Более того: выясните значем симфони таким образом эмулирует версию? Тем указывая столь старое значение.
Мой предыдущий комментарий сводился к тому, что вопрос раскрыт сумбурно (понятность - -процентов 60%) и вообще не производит впечатления понимания.
Ну и финал:
Как раз-таки вот это всё объясняет)
После того как вы указали другую платформу, флаг вам больше не нужен.
_____________
матфак вгу и остальная классика =)
melisa
Tue, 01/16/2018 - 14:40
Permalink
обходной путь удалён
да, второй вариант решения - т.н. костыль (на самом деле это был первый по хронологии вариант). Можно удалить его, чтобы не вводить в заблуждение тех, кто позднее будет интересоваться вопросом.
vedro-compota
Tue, 01/16/2018 - 14:42
Permalink
лучше было перенести его в
лучше было перенести его в комментарий
_____________
матфак вгу и остальная классика =)
melisa
Tue, 01/16/2018 - 15:53
Permalink
сделано
http://fkn.ktu10.com/?q=comment/2108#com...
vedro-compota
Tue, 01/16/2018 - 14:27
Permalink
Здесь под словом package
а точнее весь ваш проект, ведь это для него указано:
_____________
матфак вгу и остальная классика =)
melisa
Tue, 01/16/2018 - 15:52
Permalink
Обходной путь
Возможно кому-нибудь понадобится...
Есть вариант игнорировать указанную платформу с помощью флагов:
Описание в документации композера.
Но данный флаг придётся использовать при всех последующих запусках composer update.