У меня есть файл-композитор с dev-зависимостью, которая требует PHP> = 5.4.0. Когда я обновляюсь на производстве (установка 5.3 (да - я знаю!)) И явно --no-dev
параметр --no-dev
, композитор все еще проверяет требования к версии PHP из пакетов dev.
Файл композитора:
{
"config": {
"vendor-dir": "./vendor/"
},
"require": {
"symfony/config" : "dev-master",
"twig/twig": "1.15.1",
"leafo/lessphp": "v0.4.0",
"simplepie/simplepie": "dev-master",
"contao/idna": "dev-master",
"swiftmailer/swiftmailer": "5.3.*@dev",
"james-heinrich/getid3": "dev-master",
"pda/pheanstalk": "v2.1.0",
"monolog/monolog": "1.9.1",
"pimple/pimple": ">1.0.0",
"doctrine/orm": "2.4.*",
"ircmaxell/password-compat": "1.0.3",
"raven/raven": "dev-curl-async",
"elasticsearch/elasticsearch": "~1.0",
"guzzle/guzzle": "3.9.2"
},
"require-dev": {
"codeception/codeception": "2.1.*@dev"
}
}
Codeception
имеет требование для PHP 5.4. 0+, и когда я запускаю composer update --no-dev
я получаю следующее:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for codeception/codeception 2.1.*@dev -> satisfiable by codeception/codeception[2.1.x-dev].
- codeception/codeception 2.1.x-dev requires php >=5.4.0 -> no matching package found.
Должен ли композитор пропускать проверки требований к пакетам, я прямо сказал, что он не устанавливается? Я пробовал передавать --ignore-platform-reqs
но безуспешно.
ОБНОВИТЬ
Похоже, что его запуск на PHP 5.3.10 полностью игнорирует параметр --no-dev
и сообщает, что он устанавливает их:
composer update --no-dev
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
- Installation request for codeception/codeception 2.1.*@dev -> satisfiable by codeception/codeception[2.1.x-dev].
- codeception/codeception 2.1.x-dev requires php >=5.4.0 -> no matching package found.
Решено !!!
Похоже, что мой файл- composer
был сценарием bash, который не передавал параметры в файл composer.phar
правильно.
Эта проблема заключалась в моем собственном творении.
Вам нужно использовать --no-dev
чтобы не устанавливать пакеты dev.
--no-deps
когда это должно было быть --no-dev
. Вопрос обновляется сейчас. Спасибо за вашу помощь @ wouter-j