运行
使任何人都可以写
将
当我在现有项目上进行作曲家更新时,我有此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
如何解决此问题?
您的vendor
目录归root
所有,因此您有三个选项:
运行composer
作为root
。
作曲家不必要地以提高特权运行。这不是很好的做法。
使任何人都可以写vendor
:
sudo chmod -R o+w vendor
任何人都可以修改vendor
内容,大概可以自动运行而不会进行太多审查。同样,不良的安全实践。
将vendor
的所有权更改为要运行composer
的用户为:
sudo chown -R <user:group> vendor