我似乎无法使用完成捆绑包的安装
composer require <bundle-name>
因为这些错误:
[Symfony \ Component \ Filesystem \ Exception \ IOException]无法删除目录“/ var / www / emerson-suite / var / cache / de~ / pools / rDfZ I1q9aB”:.
完整控制台输出错误:
生成自动加载文件ocramius / package-versions:生成版本类... ocramius / package-versions:...完成生成版本类Sensio \ Bundle \ DistributionBundle \ Composer \ ScriptHandler :: buildBootstrap Sensio \ Bundle \ DistributionBundle \ Composer \ ScriptHandler :: clearCache //使用debug清除dev环境的缓存// true Symfony \ Component \ Filesystem \ Exception \ IOException]无法删除目录“/ var / www / emerson-suite / var / cache / de~ / pools / rDfZ I1q9aB“:. cache:clear [--no-warmup] [--no-optional-warmers] [-h | --help] [-q | --quiet] [-v | vv | vvv | --verbose] [-V | --version] [--ansi] [ - no-ansi] [-n | --no-interaction] [-e | --env ENV] [--no-debug] [ - ] Script Sensio \ Bundle \ DistributionBundle \ Composer \ ScriptHandler :: clearCache处理post-update-cmd事件,该事件以异常安装失败,将./composer.json恢复为其原始内容 . [RuntimeException]执行“'cache:clear --no-warmup'”命令时发生错误://使用debug //清除dev环境的缓存// [Symfony \ Component \ Filesystem \ Exception \ IOException]失败删除目录“/ var / www / emerson-suite / var / cache / de~ / pools / rDfZ I1q9aB”:. cache:clear [--no-warmup] [--no-optional-warmers] [-h | --help] [-q | --quiet] [-v | vv | vvv | --verbose] [-V | --version] [--ansi] [ - no-ansi] [-n | --no-interaction] [-e | --env ENV] [ - no-debug] [ - ]
尝试使用 sudo
和不使用 sudo
运行作曲家 . 我运行的命令是: $ sudo composer require javiereguiluz/easyadmin-bundle
不知道该怎么做,任何帮助表示赞赏 .
更新
我的环境是Mac OS X上的Vagrant VM上的Ubuntu .
2 回答
似乎它可能是涉及操作系统内部权限以及可能的开发环境的问题 .
试着在这里寻找答案,很多人似乎都有这个问题 . https://github.com/symfony/symfony/issues/19363#issuecomment-264655158
目录 ./de~/ 是旧的/ dev /目录,因为它已准备好被删除 . / pools /目录是在应用程序运行期间构建的缓存 . 在初始启动时,它使用一个用户帐户,但Web服务器正在运行另一个用户帐户,因此原始用户帐户无权删除某些文件 .
解决这个问题的简单方法 - 至少在开发环境中 - 是
sudo rm -rf .../de~
. 当我在prod上删除旧版本的代码时,我经常需要这样做,因为不仅仅是原始的部署用户,写入缓存目录 .