首页 文章

在后进程缓存清除步骤中运行`composer require ...`失败

提问于
浏览
0

我似乎无法使用完成捆绑包的安装

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 回答

  • 0

    似乎它可能是涉及操作系统内部权限以及可能的开发环境的问题 .

    试着在这里寻找答案,很多人似乎都有这个问题 . https://github.com/symfony/symfony/issues/19363#issuecomment-264655158

  • 1

    目录 ./de~/ 是旧的/ dev /目录,因为它已准备好被删除 . / pools /目录是在应用程序运行期间构建的缓存 . 在初始启动时,它使用一个用户帐户,但Web服务器正在运行另一个用户帐户,因此原始用户帐户无权删除某些文件 .

    解决这个问题的简单方法 - 至少在开发环境中 - 是 sudo rm -rf .../de~ . 当我在prod上删除旧版本的代码时,我经常需要这样做,因为不仅仅是原始的部署用户,写入缓存目录 .

相关问题