#composer-php
#композитор-php
Вопрос:
при попытке установки через composer require stof/doctrine-extensions-bundle
я получаю кучу сообщений, сообщающих мне, что установить пакет невозможно: Your requirements could not be resolved to an installable set of packages.
Часть выходных данных:
Problem 1
- Conclusion: remove doctrine/cache 1.10.2
- Conclusion: don't install doctrine/cache 1.10.2
- doctrine/common 2.2.1 conflicts with doctrine/cache[1.10.2].
- doctrine/common 2.2.2 conflicts with doctrine/cache[1.10.2].
- doctrine/common 2.2.3 conflicts with doctrine/cache[1.10.2].
- doctrine/common 2.3.0 conflicts with doctrine/cache[1.10.2].
- Installation request for doctrine/cache (locked at 1.10.2) -> satisfiable by doctrine/cache[1.10.2].
- Installation request for stof/doctrine-extensions-bundle ^1.4 -> satisfiable by stof/doctrine-extensions-bundle[v1.4.0].
- Conclusion: don't install doctrine/common 3.0.2|install doctrine/common 2.2.1|install doctrine/common 2.2.2|install doctrine/common 2.2.3|install doctrine/common 2.3.0
- Conclusion: remove doctrine/common 3.0.2|install doctrine/common 2.2.1|install doctrine/common 2.2.2|install doctrine/common 2.2.3|install doctrine/common 2.3.0
- stof/doctrine-extensions-bundle v1.4.0 requires gedmo/doctrine-extensions ^2.3.4 -> satisfiable by gedmo/doctrine-extensions[v2.3.10, v2.3.11, v2.3.12, v2.3.4, v2.3.5, v2.3.6, v2.3.7, v2.3.8, v2.3.9, v2.4.0, v2.4.1, v2.4.10, v2.4.11, v2.4.12, v2.4.13, v2.4.14, v2.4.15, v2.4.16, v2.4.17, v2.4.18, v2.4.19, v2.4.2, v2.4.20, v2.4.21, v2.4.22, v2.4.23, v2.4.24, v2.4.25, v2.4.26, v2.4.27, v2.4.28, v2.4.29, v2.4.3, v2.4.30, v2.4.31, v2.4.32, v2.4.33, v2.4.34, v2.4.35, v2.4.36, v2.4.37, v2.4.38, v2.4.39, v2.4.4, v2.4.40, v2.4.41, v2.4.42, v2.4.5, v2.4.6, v2.4.7, v2.4.8, v2.4.9].
- gedmo/doctrine-extensions v2.3.10 requires doctrine/common ~2.4 -> satisfiable by doctrine/common[2.12.0, 2.13.0, 2.13.1, 2.13.2, 2.13.3, v2.10.0, v2.11.0, v2.4.0, v2.4.1, v2.4.2, v2.4.3, v2.5.0, v2.5.1, v2.5.2, v2.5.3, v2.6.0, v2.6.1, v2.6.2, v2.7.0, v2.7.1, v2.7.2, v2.7.3, v2.8.0, v2.8.1, v2.9.0].
Я устанавливал в таком порядке:
composer require profiler --dev
composer require logger
composer require debug --dev
composer require annotations
composer require sec-checker --dev
composer require twig
composer require symfony/maker-bundle --dev
composer require doctrine
composer require form
composer require stof/doctrine-extensions-bundle
Последнее является первым, которое выдало ошибку
композитор: json:
{
"type": "project",
"license": "proprietary",
"require": {
"php": ">=7.2.5",
"ext-ctype": "*",
"ext-iconv": "*",
"composer/package-versions-deprecated": "^1.11",
"doctrine/doctrine-bundle": "^2.1",
"doctrine/doctrine-migrations-bundle": "^3.0",
"doctrine/orm": "^2.7",
"sensio/framework-extra-bundle": "^5.6",
"symfony/console": "5.1.*",
"symfony/dotenv": "5.1.*",
"symfony/flex": "^1.9",
"symfony/form": "5.1.*",
"symfony/framework-bundle": "5.1.*",
"symfony/monolog-bundle": "^3.5",
"symfony/twig-bundle": "^5.1",
"symfony/yaml": "5.1.*",
"twig/extra-bundle": "^2.12|^3.0",
"twig/twig": "^2.12|^3.0"
},
"require-dev": {
"sensiolabs/security-checker": "^6.0",
"symfony/debug-bundle": "^5.1",
"symfony/maker-bundle": "^1.21",
"symfony/stopwatch": "^5.1",
"symfony/var-dumper": "^5.1",
"symfony/web-profiler-bundle": "^5.1"
},
"config": {
"optimize-autoloader": true,
"preferred-install": {
"*": "dist"
},
"sort-packages": true
},
"autoload": {
"psr-4": {
"App\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"App\Tests\": "tests/"
}
},
"replace": {
"paragonie/random_compat": "2.*",
"symfony/polyfill-ctype": "*",
"symfony/polyfill-iconv": "*",
"symfony/polyfill-php72": "*",
"symfony/polyfill-php71": "*",
"symfony/polyfill-php70": "*",
"symfony/polyfill-php56": "*"
},
"scripts": {
"auto-scripts": {
"cache:clear": "symfony-cmd",
"assets:install %PUBLIC_DIR%": "symfony-cmd",
"security-checker security:check": "script"
},
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
]
},
"conflict": {
"symfony/symfony": "*"
},
"extra": {
"symfony": {
"allow-contrib": false,
"require": "5.1.*"
}
}
}
Комментарии:
1. Что вы пытались отладить проблему? Можете ли вы поделиться более подробной информацией о других пакетах, которые вы уже установили?
2. Пожалуйста, добавьте всю информацию в свой вопрос, отредактировав его. Кроме того, это может помочь увидеть ограничения версии из вашего
composer.json
— можете ли вы их добавить?3. Пожалуйста, используйте
composer why-not
, чтобы проверить, применяются ли еще какие-либо условия4. извините, Нико. Боюсь, я не знаю, как использовать why-not. composer почему-не stof /doctrine-extensions-bundle просто выдает мне сообщение «Не удалось найти пакет»stof / doctrine-extensions-bundle» в вашем проекте.
Ответ №1:
Благодаря этому списку требований, которые вы установили doctrine/common
в версии v3. Последняя стабильная версия gedmo/doctrine-extensions
еще не совместима с этой, что вы можете видеть в некоторых выпусках.
У вас есть два варианта: либо подождать еще несколько дней или недель, пока этот пакет не станет совместимым, либо понизить doctrine/common
его до версии v2. Это возможно с помощью
composer require doctrine/common:"^2.11" doctrine/persistence:"^1.3"
Комментарии:
1. Нико, это было здорово. У меня это сработало. Спасибо большое. И для обновления через несколько недель я просто использую composer update или мне нужно использовать другую команду?
2. Что ж, Composer работает здесь немного странно: технически вы можете удалить два пакета Doctrine сразу, прямо сейчас. Обновление пакета расширений работает как обычно после выпуска обновления