我有一个运行在Ubuntu虚拟机上的Laravel项目。
之前,我运行composer update
,一切正常。但现在,当我运行composer update
时,出现以下错误:
file_get_contents(/home/user/.composer/config.json): failed to open stream:
Permission denied
这是为什么?当我运行sudo composer update
时,它可以正常工作。
我有一个运行在Ubuntu虚拟机上的Laravel项目。
之前,我运行composer update
,一切正常。但现在,当我运行composer update
时,出现以下错误:
file_get_contents(/home/user/.composer/config.json): failed to open stream:
Permission denied
这是为什么?当我运行sudo composer update
时,它可以正常工作。
你的权限以某种方式被更改了(可能与运行composer
无关)。将该文件的所有者设置为您的用户应该解决问题:
sudo chown user /home/user/.composer/config.json
上述假设用户名为user
且位于主目录下。顺带一提,如果以超级用户运行使用sudo
,它将可以正常工作,因为在这种情况下没有权限限制。看起来您没有此文件的有效权限。请尝试运行:
sudo chmod 0777 /home/user/.composer/config.json
编辑
当然,你应该只在开发环境中进行操作(你提到你使用Virtualbox)。你不应该在生产环境中这样做。
运行下面的命令。
sudo composer update
composer
中使用sudo:不要以root/super用户身份运行Composer!请参阅https://getcomposer.org/root了解详情。 - Sébastien Gicquel
sudo chown ${USER} /home/${USER}/.composer/config.json
呢? - sr9yar