composer -- Unable to create the storage directory (...var/cache/dev/profiler)

Ошибка появляется после команды

composer install

Не хватает прав для работы с директорией.

Текст ошибки:

Fatal error: Uncaught RuntimeException: Unable to create the storage directory (/var/www/ball/var/cache/dev/profiler). in /var/www/ball/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php:45 Stack trace: #0 /var/www/ball/var/cache/dev/ContainerIhztrcl/appDevDebugProjectContainer.php(879): Symfony\Component\HttpKernel\Profiler\FileProfilerStorage->__construct('file:/var/www/b...') #1 /var/www/ball/var/cache/dev/ContainerIhztrcl/appDevDebugProjectContainer.php(1635): ContainerIhztrcl\appDevDebugProjectContainer->getProfilerService() #2 /var/www/ball/var/cache/dev/ContainerIhztrcl/appDevDebugProjectContainer.php(1302): ContainerIhztrcl\appDevDebugProjectContainer->getProfilerListenerService() #3 /var/www/ball/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php(229): ContainerIhztrcl\appDevDebugProjectContainer->ContainerIhztrcl\{closure}() #4 /var/www/ball/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php(61): Symfony\Component\E in /var/www/ball/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php on line 45

Решение

Простейшее решение - удаление директории /var/cache:

rm -rf var/cache/*

или выставлением www-data владельцем директории рекурсивно:

sudo chown -R www-data:www-data var

Но после следующего composer update ошибка возникает снова.

Источники

vedro-compota's picture

Простейшее решение - удаление директории /var/cache:

rm -rf /var/cache/*

-- странно, судя по сообщению ошибка в

 /var/www/ball/var/cache/dev/profiler

а вы удаляете вообще из другой папки, да ещё в которую могут писать другие приложения:

/var/cache/*

_____________
матфак вгу и остальная классика =)

melisa's picture

здесь, кончено, ошибка, удалять надо из

var/cache/*

Это директория внутри проекта Symfony.
Исправила в тексте статьи.

vedro-compota's picture

что за папка ball? какая-то ваша частная или общая? если частная надо заменить на ... в заголовке

_____________
матфак вгу и остальная классика =)

melisa's picture

исправлено

vedro-compota's picture

исправлено

ок. для пущей надёжности уберу из заголовка ещё и /var/www

_____________
матфак вгу и остальная классика =)

vedro-compota's picture

или выставлением www-data владельцем директории рекурсивно:

отмечу что тут в общем случае права надо дать пользователю (или группе в которую входит пользователь -- это сделано в данном примере), от имени которого запускается композер (composer update) -- т.е. это не обязательно www-data и/или одноимённая группа.

_____________
матфак вгу и остальная классика =)