作曲家更新时出现RuntimeException

时间:2019-08-02 20:57:59

标签: composer-php symfony4

当我在现有项目上进行作曲家更新时,会出现此RuntimeException:

Could not delete /home/deepak/formation_symfony_4/SF4C4_hangman_begin/hangman/vendor/symfony/contracts/LICENSE

因此,这一定是权限问题。我在供应商文件夹上执行了ls -al,结果如下:

total 104
drwxr-xr-x 25 root root 4096  3 août  00:27 .
drwxr-xr-x 14 root root 4096  3 août  00:27 ..
-rwxr-xr-x  1 root root  178  3 août  00:27 autoload.php
drwxr-xr-x  2 root root 4096  3 août  00:27 bin
drwxr-xr-x  2 root root 4096  3 août  00:27 composer
drwxr-xr-x 18 root root 4096  3 août  00:27 doctrine
drwxr-xr-x  3 root root 4096  3 août  00:27 easycorp
drwxr-xr-x  3 root root 4096  3 août  00:27 egulias
drwxr-xr-x  3 root root 4096  3 août  00:27 jdorn
drwxr-xr-x  3 root root 4096  3 août  00:27 monolog
drwxr-xr-x  3 root root 4096  3 août  00:27 myclabs
drwxr-xr-x  3 root root 4096  3 août  00:27 nikic
drwxr-xr-x  4 root root 4096  3 août  00:27 ocramius
drwxr-xr-x  4 root root 4096  3 août  00:27 phar-io
drwxr-xr-x  5 root root 4096  3 août  00:27 phpdocumentor
drwxr-xr-x  3 root root 4096  3 août  00:27 phpspec
drwxr-xr-x  8 root root 4096  3 août  00:27 phpunit
drwxr-xr-x  6 root root 4096  3 août  00:27 psr
drwxr-xr-x 13 root root 4096  3 août  00:27 sebastian
drwxr-xr-x  3 root root 4096  3 août  00:27 sensio
drwxr-xr-x  3 root root 4096  3 août  00:27 swiftmailer
drwxr-xr-x 55 root root 4096  3 août  00:27 symfony
drwxr-xr-x  3 root root 4096  3 août  00:27 theseer
drwxr-xr-x  3 root root 4096  3 août  00:27 twig
drwxr-xr-x  3 root root 4096  3 août  00:27 webmozart
drwxr-xr-x  4 root root 4096  3 août  00:27 zendframework

我该如何解决?

1 个答案:

答案 0 :(得分:1)

您的vendor目录归root所有,因此您有三个选择:

composer的身份运行root

Composer不必要地以提升的特权运行。这不是一个好习惯。

使vendor可由任何人写:

sudo chmod -R o+w vendor

任何人都可以修改vendor的内容,这些内容大概是自动运行的,无需进行过多的检查。同样,不良的安全做法。

vendor的所有权更改为您要运行composer的用户,如下:

sudo chown -R <user:group> vendor