Composer не удается выполнить кеш приложения/консоли: очистить от symfony 3
Я не могу запустить composer install
, потому что он не работает при выполнении post-install-cmd
-cripts.
Причина в том, что Symfony 3 переместила консольное приложение из папки приложения в папку bin.
Я пробовал composer clear-cache
и composer self-update
, поэтому могу проверить, что я использую последнюю версию композитора без везения... Может ли кто-нибудь мне помочь?
Результаты composer diagnose
composer diagnose
Checking composer.json: FAIL
Defining autoload.psr-4 with an empty namespace prefix is a bad idea for performance
require.symfony/symfony : unbound version constraints (dev-master) should be avoided
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com rate limit: OK
Checking disk free space: OK
Checking composer version: OK
Изменить:
Добавлен файл composer.json: Pastie
Дополнительная часть:
"extra": {
"symfony-app-dir": "app",
"symfony-bin-dir": "bin",
"symfony-var-dir": "var",
"symfony-web-dir": "web",
"symfony-tests-dir": "tests",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
}
}
Ошибка композитора:
Could not open input file: app/console
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception
[RuntimeException]
An error occurred when executing the "'cache:clear --no-warmup'" command:
Could not open input file: app/console
.
Мануальный тест bin/composer cache:clear
:
bin/console cache:clear
// Clearing the cache for the dev environment with debug true
[OK] Cache for the "dev" environment (debug=true) was successfully cleared.
Проблема репо: https://bitbucket.org/Richardh87/messenger
Ответы
Ответ 1
Была та же проблема. Установлено, что каталог var
отсутствует.
Добавление каталога var
в проект root dir разрешило это для меня. Похоже, что symfony 3 пытается использовать старую структуру проекта, если отсутствует папка var. Надеюсь, это поможет кому-то.
Ответ 2
попробуйте
sudo rm -rf vendor/*
sudo rm -rf composer.lock
затем запустите
composer install
снова
Ответ 3
Проверьте дополнительный ключ конфигурации в именах файлов composer.json
как symfony-bin-dir
.
Итак, убедитесь, что композитор содержит правильный ключ конфигурации, например:
composer.json
....
"extra": {
"symfony-app-dir": "app",
"symfony-bin-dir": "bin",
"symfony-var-dir": "var",
....
Ответ 4
Изменение gitignore сработало для меня, например:
# Cache and logs (Symfony3)
/var/cache/*
/var/logs/*
!var/cache/.gitkeep
!var/logs/.gitkeep
# Parameters
/app/config/parameters.yml
/app/config/parameters.ini
# Managed by Composer
/app/bootstrap.php.cache
/var/bootstrap.php.cache
/bin/*
!bin/console
!bin/symfony_requirements
/vendor/
# Assets and user uploads
/web/bundles/
/web/uploads/
# Assets managed by Bower
/web/assets/vendor/
# PHPUnit
/app/phpunit.xml
/phpunit.xml
# Build data
/build/
# Composer PHAR
/composer.phar