我正在尝试启动一个Vagrant机器(带有ansible),当它进入“composer install”任务时会抛出错误 . 我搜索了这个问题并尝试了多种不起作用的解决方案(如下所述) .
我相信它与没有权限写入app / cache和app / log的vagrant用户有关,即使我更改了VM和本地的权限 . 不确定修复是什么 .
错误:
failed:[default](item = composer install)=> {“changed”:true,“cmd”:[“composer”,“install”],“delta”:“0:00:06.144861”,“end” :“2017-11-16 12:03:03.366269”,“失败”:true,“item”:“composer install”,“rc”:1,“start”:“2017-11-16 12:02:57.221408 “,”stderr“:”使用包信息加载编辑器存储库\ n从锁定文件中安装依赖项(包括require-dev)\ n无需安装或更新\ n生成自动加载文件\ n> Incenteev \ ParameterHandler \ ScriptHandler :: buildParameters \ n> Sensio \ Bundle \ DistributionBundle \ Composer \ ScriptHandler :: buildBootstrap \ n> Sensio \ Bundle \ DistributionBundle \ Composer \ ScriptHandler :: clearCache \ nScript Sensio \ Bundle \ DistributionBundle \ Composer \ ScriptHandler :: clearCache处理以异常终止的symfony-scripts事件\ n \ n \ n [RuntimeException] \ n执行\“'缓存时发生错误:clear --no-warmup'\”命令:\ n //使用debug true清除dev环境的缓存\ n \ n [Symfony \ Component \ Filesystem \ Excepti on \ IOException] \ n无法删除目录\“/ var / www / fisher.dev / app / cache / de~ / annotations \”:. \ n \ n缓存:清除[--no-warmup] [--no-optional-warmers] [-h | --help] [-q | --quiet] [-v | vv | vvv | --verbose ] [-V | --version] [--ansi] [ - no-ansi] [-n | --no-interaction] [-s | --shell] [--process-isolation] [-e | --env ENV] [--no-debug] [ - ] \ n . \ 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'
任何帮助将非常感激!谢谢!
2 回答
我发现问题出在我的操作系统macOS High Sierra v10.13.1上 . 目前这个os和vagrant有一个错误,它与Vagrant的文件同步,NFS和macOS上的文件映射有关 .
更多信息:http://www.qed42.com/blog/macos-sierra-issues-vagrant
问题似乎来自VM如何处理映射路径 .
更改项目目录中文件的所有权和权限将从VM中执行而不会出现错误 - 但经过进一步调查,您可以看到所有权和权限实际上并未更改 .