Я пытаюсь загрузить Vagrant-машину (с ansible), которая выдает ошибку, когда попадает в задачу «composer install». Я искал эту проблему и пробовал несколько решений, которые не работали (объяснено ниже).
Я полагаю, что это связано с тем, что у бродячего пользователя нет разрешения на запись в app / cache и app / log, даже если я изменил разрешение на виртуальной и локальной системе. Не уверен, что будет исправление.
Ошибка:
не удалось: [по умолчанию] (item = composer install) => {«изменено»: true, «cmd»:
[«composer», «install»], «delta»: «0: 00: 06.144861», «end»: «2017-11-16
12: 03: 03.366269 «,» fail «: true,» item «:» install composer «,» rc «: 1,
«start»: «2017-11-16 12: 02: 57.221408», «stderr»: «Загрузка композитора
репозитории с информацией о пакете \ nУстановка зависимостей
(включая require-dev) из файла блокировки \ nНе устанавливать или
обновить \ nСоздание файлов автозагрузки \ n>
Incenteev \ ParameterHandler \ ScriptHandler :: buildParameters \ п>
Sensio \ Bundle \ DistributionBundle \ композитор \ ScriptHandler :: buildBootstrap \ п>
Sensio \ Bundle \ DistributionBundle \ композитор \ ScriptHandler :: ClearCache \ nScript
Sensio \ Bundle \ DistributionBundle \ композитор \ ScriptHandler :: ClearCache
обработка события symfony-scripts, прерванного с исключением \ n \ n
\ n [RuntimeException] \ n Произошла ошибка при выполнении команды \ «‘cache: clear —no-warmup’ \»:
\ n // Очистка кеша для среды разработки с помощью debug true
\ п
\ n [Symfony \ Component \ Filesystem \ Exception \ IOException] \ n Не удалось удалить каталог
\ «/ var / www / fisher.dev / app / cache / de ~ / annotations \»:.
\ п
\ n кеш: очистить [—no-warmup] [—no-option-warmers] [-h | —help] [-q | —quiet] [-v | vv | vvv | —verbose] [-V | —version] [—ansi] [—no-ansi] [-n | —no-взаимодействие] [-s | —shell] [—process-изоляция] [-e | —env
ENV] [—no-debug] [-] \ n.
\ п
Файл Composer.json:
{
"name": "fostermadeco/fisher",
"license": "proprietary",
"type": "project",
"autoload": {
"psr-4": {
"": "src/"},
"classmap": [
"app/AppKernel.php",
"app/AppCache.php"]
},
"require": {
"php": ">=5.3.9",
"symfony/symfony": "2.8.*",
"doctrine/orm": "^2.4.8",
"doctrine/doctrine-bundle": "~1.4",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.11.3",
"sensio/distribution-bundle": "~5.0",
"sensio/framework-extra-bundle": "^3.0.2",
"incenteev/composer-parameter-handler": "~2.0",
"snc/redis-bundle": "^2.0",
"predis/predis": "^1.1",
"doctrine/doctrine-migrations-bundle": "1.2.1",
"alcaeus/mongo-php-adapter": "^1.0",
"doctrine/mongodb-odm": "^1.2",
"doctrine/mongodb-odm-bundle": "^3.2",
"ocramius/package-versions": "^1.1",
"ircmaxell/random-lib": "^1.2",
"jms/serializer-bundle": "^1.1",
"nelmio/api-doc-bundle": "^2.13",
"maba/webpack-bundle": "^0.6.4",
"stripe/stripe-php": "^4.3",
"doctrine/annotations": "^1.3",
"bugsnag/bugsnag-symfony": "^1.0",
"stof/doctrine-extensions-bundle": "^1.2",
"danielstjules/stringy": "^2.3",
"doctrine/migrations": "1.4.1",
"beberlei/DoctrineExtensions": "1.0.*"},
"require-dev": {
"sensio/generator-bundle": "~3.0",
"symfony/phpunit-bridge": "~2.7",
"doctrine/data-fixtures": "^1.2",
"hautelook/alice-bundle": "^1.4"},
"scripts": {
"symfony-scripts": [
"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"],
"post-install-cmd": [
"@symfony-scripts"],
"post-update-cmd": [
"@symfony-scripts"]
},
"config": {
"bin-dir": "bin"},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "public",
"symfony-assets-install": "relative",
"incenteev-parameters": {
"file": "app/config/parameters.yml"},
"branch-alias": null
},
"minimum-stability": "dev"}
Я могу очистить кеш, используя «php app / console cache: clear» и «php app / console cache: clear —no-warmup»
Я также могу ‘rm -rf app / cache / *’, и я изменил разрешение для папки кеша ‘sudo chmod -R 777 app / cache’
Я использую ansible, который устанавливает date.timezone = ‘America / New_York’
Любая помощь могла бы быть полезна! Спасибо!
Я обнаружил, что проблема была в моей операционной системе macOS High Sierra v10.13.1. В настоящее время существует ошибка с этим os и vagrant, которая связана с синхронизацией файлов Vagrant, NFS и отображением файлов в macOS.
Больше информации:
http://www.qed42.com/blog/macos-sierra-issues-vagrant
Кажется, проблема в том, как виртуальные машины работают с отображенными путями.
Изменение владельца и прав доступа к файлам в каталоге проекта изнутри виртуальной машины будет выполнено без ошибок, но после дальнейшего изучения вы увидите, что собственник и права доступа фактически не изменились.