Composer : file_put_contents (./ composer.json) : 스트림을 열지 못했습니다 : 권한이 거부되었습니다.
Prestissimo 를 Ubuntu 16.04 서버 에 설치하려고하는데 오류가 발생합니다.
$ composer global require "hirak/prestissimo:^0.3"
Changed current directory to /home/kramer65/.composer
[ErrorException]
file_put_contents(./composer.json): failed to open stream: Permission denied
require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--] [<packages>]...
user로 로그인 kramer65
했기 때문에 홈 폴더에 쓸 수없는 이유를 모르겠습니다. a에 대한 나의 정상적인 반응 은를 permission denied
사용하는 sudo
것이지만 작곡가는 항상 다음과 같이 말합니다.
Composer를 루트 / 슈퍼 유저로 실행하지 마십시오! 자세한 내용은 https://getcomposer.org/root 를 참조하십시오.
이 문제를 어떻게 해결할 수 있는지 아십니까?
laravel / lumen을 설치하는 데이 문제가 발생했습니다.
다음 명령으로 해결할 수 있습니다.
$ sudo chown -R $USER ~/.composer/
이 문제를 해결하려면 터미널 창을 열고 다음 명령을 입력해야합니다.
sudo chown -R user ~/.composer
( user
귀하의 경우 현재 사용자 인 경우 kramer65
)
이 명령을 실행 한 후 composer global require 명령을 실행할 수있는 권한이 있어야합니다.
현재 디렉토리에서 .composer 파일을 제거해야 할 수도 있습니다. 이렇게하려면 터미널 창을 열고 다음 명령을 입력하십시오.
sudo rm -rf .composer
나는이 문제에 직면했지만 내 경우에는 잘못된 디렉토리에있었습니다. 작업중인 디렉토리를 확인하십시오.
제 경우에는 .composer
루트가 소유했기 때문에 그렇게 sudo rm -fr .composer
한 다음 글로벌 요구 사항이 작동했습니다.
경고 받다! 수행중인 작업이 확실하지 않은 경우 해당 명령을 사용하고 싶지 않습니다.
이것은 슈퍼 에지 경우 일 수 있지만 Travis CI를 사용하고 캐싱을 활용하는 경우 모든 캐시를 지우고 다시 시도하는 것이 좋습니다.
sudo에서 sudo가 아닌 빌드로 이동할 때의 문제를 수정했습니다.
제 경우에는 ~/.composer
.
그래서 Laravel 앱 루트 폴더 안에 있었으므로 sudo chown -R $USER composer.lock
도움이되었습니다.
'UFO ET IT' 카테고리의 다른 글
오류 가져 오기 : 하나 이상의 postgresql-client-를 설치해야합니다. (0) | 2020.11.23 |
---|---|
문자열을 개별 변수로 분할 (0) | 2020.11.22 |
무작위로 생성 된 UUID에서 "-"를 제거하는 것이 얼마나 안전합니까? (0) | 2020.11.22 |
하위 쿼리에서 정렬 기준이있는 SQL 오류 (0) | 2020.11.22 |
iPhone OSStatus 코드를 유용한 것으로 어떻게 변환합니까? (0) | 2020.11.22 |