File_put_contents(./composer.lock):无法打开流:权限被拒绝

时间:2021-03-21 10:58:14

标签: ubuntu composer-php ubuntu-20.04

我是 Ubuntu 的新手,我正在尝试让我的 Ubuntu Web 服务器运行,但是我在使用 Composer 时遇到了问题。当我运行 composer install 时,它输出此错误 [ErrorException] file_put_contents(./composer.lock): Failed to open stream: Permission denied。 我在互联网上找到了解决方案,但对我不起作用

不工作的解决方案:

 sudo chown -R $USER ~/.composer/

输出

chown: cannot access '/home/admin/.composer/': No such file or directory

我使用的是 Ubuntu 20.04。有人知道我该怎么办吗?

2 个答案:

答案 0 :(得分:0)

composer install 正在尝试在您的项目目录中创建一个 .composer.lock 文件,因此 php 应该有权限这样做。

一个快速的技巧是使用 sudo composer install ,但这不是推荐的方法。

这也应该有效

sudo chown -R :www-data /fullpath-to-your-project

答案 1 :(得分:0)

这个问题可以通过创建锁定文件然后修改所有权来轻松解决。

  1. sudo touch composer.lock

  2. sudo chown -R $USER ./composer.lock

  3. composer update

只需拥有项目文件夹:

sudo chown -R $USER path/to/project/folder

有了这个,您就不必使用 sudo 来运行 composer update