File_put_contents(./composer.lock): Не удалось открыть поток: Отказано в разрешении

#ubuntu #composer-php #ubuntu-20.04

Вопрос:

Я новичок в Ubuntu и пытаюсь запустить свой веб-сервер Ubuntu, но у меня проблема с 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. Кто-нибудь знает, что мне делать?

Ответ №1:

Эту проблему можно легко решить, создав файл блокировки, а затем изменив владельца.

  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

Ответ №2:

composer install пытается создать .composer.lock файл в каталоге вашего проекта, поэтому php должен иметь разрешение на это.

Можно использовать быстрый взлом sudo composer install ,но это не рекомендуемый способ.

это тоже должно сработать

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

Комментарии:

1. Я все еще получаю file_put_contents(./composer.lock): Failed to open stream: Permission denied ошибку после использования sudo chown -R :www-data /fullpath-to-your-project

2. попробуйте установить sudo composer

3. sudo composer install работает, но я хотел бы иметь возможность использовать метод не sudo, потому что это может угрожать безопасности