使用Capistrano部署Symfony 3时出现Composer错误

时间:2018-01-07 17:43:18

标签: symfony composer-php capistrano

我正在使用Capasitrano部署我的Symfony3应用程序。 开始部署时遇到问题。

这是我运行" cap production deploy"

时的结果
00:42 composer:run
      01 composer install --no-dev --prefer-dist --no-interaction --quiet --optimize-autoloader
      01 The disk hosting /root/.composer is full, this may be the cause of the following exception
      01
      01
      01   [RuntimeException]
      01   An error occurred when executing the "'cache:clear --no-warmup'" command:
      01   Fatal error: Class 'Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle' not found in /home/cititex/public_h…
      01   In AppKernel.php line 31:
      01
      01     Attempted to load class "SensioGeneratorBundle" from namespace "Sensio\Bund
      01     le\GeneratorBundle".
      01     Did you forget a "use" statement for another namespace?
      01
      01
      01
      01 install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autolo…
      01

所以错误是从&#34开始的;托管/root/.composer的磁盘已满,这可能是导致以下异常的原因"

我检查了我的磁盘使用情况,但仍有很多内存。

Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        35G   19G   14G  57% /
devtmpfs        911M     0  911M   0% /dev
tmpfs           920M  4.0K  920M   1% /dev/shm
tmpfs           920M  8.6M  912M   1% /run
tmpfs           920M     0  920M   0% /sys/fs/cgroup
/dev/loop0      1.3G  2.8M  1.2G   1% /tmp

请帮我找出问题所在。 谢谢。

2 个答案:

答案 0 :(得分:1)

/ root /目录可能位于您可能未显示的另一个分区上。执行du -skc /root/*应显示正在占用所有空间的位置 - 它可能是由Composer下载的大量缓存文件(/root/.composer/cache/)。您可以使用composer clearcache安全地删除它们(最糟糕的情况是再次下载它们)。

无论如何,以root身份运行composer安装通常都不是一个好主意。最好创建一个普通的或特定的“部署”用户来运行所有任务。您可能需要root / sudo访问设置权限(使用setfacl),但可能甚至不需要。

答案 1 :(得分:0)

要在您的composer主目录中获取可用空间,请尝试运行df -h /root/.composer并运行composer clear-cache以删除composer主目录中的composer缓存,然后运行composer diagnose以检查您的系统。

相关问题