Я пытаюсь установить smf-песочницу из git https://github.com/symfony-cmf/cmf-sandbox
Но я получил ошибку:
Исправляемая фатальная ошибка: аргумент 2 передан Symfony \ Cmf \ Bundle \ RoutingBundle \ Admin \ Extension \ FrontendLinkExtension :: __ construct () должен быть экземпляром Symfony \ Bundle \ FrameworkBundle \ Translation \ Translator, экземпляром Symfony \ Component \ Translation \ LoggingTranslator задан, вызван в \ cmf \ app \ cache \ dev \ appDevDebugProjectContainer.php в строке 5251 и определен
Я начинаю использовать SF CMF, поэтому не знаю, где искать.
Кто-то может мне помочь?
Я пытался найти какое-то решение в Интернете, но ничего не могу найти.
РЕДАКТИРОВАТЬ:
Эта ошибка появляется, когда я пытаюсь очистить кеш.
В самом деле translator
служба до Symfony 2.6 была псевдонимом для translator.default
К сожалению, это изменилось в Symfony 2.6 с добавлением функции LoggingTranslator. (Вы можете проверить это, запустив php app/console container:debug
)
Если код неправильно напечатан, чем вам нужно использовать translator.default
сервис явно, translator
Сервис может вызвать ошибки.
Увидеть этот вопрос Github для полных внутренних органов.
Вы можете либо понизить Symfony / Symfony до версии 2.5. *, Либо обновить Symfony-cmf / routing-bundle до dev-master:
в composer.json
"require": {
// to downgrade symfony: "symfony/symfony": "2.5.*", // OR
"symfony-cmf/routing-bundle": "dev-master@dev", // upgrade CmfRoutingBundle
}
С последующим:
$ composer update symfony-cmf/routing-bundle
Проблема заключалась в том, что это новое расширение ожидало конкретный класс вместо интерфейса, что стало проблемой в Symfony 2.6. Это было исправлено на прошлой неделе, и я только что выпустил версию 1.3.3 RoutingBundle сейчас.
Вы можете просто composer update symfony-cmf/routing-bundle
без необходимости изменения ограничения версии (при условии, что вам требуется 1.3. *).