当我在现有项目上进行作曲家更新时,会出现此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
我该如何解决?
答案 0 :(得分:1)
您的vendor
目录归root
所有,因此您有三个选择:
composer
的身份运行root
。Composer不必要地以提升的特权运行。这不是一个好习惯。
vendor
可由任何人写:sudo chmod -R o+w vendor
任何人都可以修改vendor
的内容,这些内容大概是自动运行的,无需进行过多的检查。同样,不良的安全做法。
vendor
的所有权更改为您要运行composer
的用户,如下:sudo chown -R <user:group> vendor