.composer/config 文件权限被拒绝使用 laravel

.composer/config file permission denied using laravel

我在 ubuntu 虚拟机上有一个 laravel 项目。 我曾经 运行 composer update 并且一切正常。我不知道有什么变化会影响这个,但现在当我 运行 composer update 我得到

file_get_contents(/home/user/.composer/config.json): failed to open stream: Permission denied

有人知道为什么吗?当我 运行 sudo composer update 时,它起作用了。

您似乎没有对此文件的有效权限。试试 运行:

sudo chmod 0777 /home/user/.composer/config.json

编辑

当然,你应该只在开发环境中这样做(你提到你使用Virtualbox)。你不应该在生产环境中这样做。

您的权限以某种方式更改(可能与 运行 composer 无关)。将该文件的所有者设置为您的用户应该可以解决此问题:

sudo chown user /home/user/.composer/config.json

以上假定用户名是来自主路径的user。作为旁注,它在 运行 作为超级用户使用 sudo 时有效,因为在这种情况下没有权限限制。

运行 命令下方。

sudo composer update