Composer: file_put_contents(./composer.json): 스트림을 열지 못했습니다.권한 거부
Ubuntu 16.04 서버에 Prestissimo를 설치하려고 하는데 다음 오류가 발생합니다.
$ 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>]...
사용자로 로그인하고 있습니다.kramer65
홈 폴더에 쓸 수 없는 이유를 알 수 없습니다.에 대한 나의 정상적인 반응permission denied
사용하는 것이다sudo
하지만 작곡가는 항상 이렇게 말합니다.
Composer를 루트/슈퍼 사용자로 실행하지 마십시오!상세한 것에 대하여는, https://getcomposer.org/root 를 참조해 주세요.
이 문제를 어떻게 해결할 수 있을까요?
larabel/lumen을 설치하는 데 문제가 있었습니다.
이 문제는 다음 명령으로 해결할 수 있습니다.
$ sudo chown -R $USER ~/.composer/
이 문제를 해결하려면 터미널 창을 열고 다음 명령을 입력해야 합니다.
sudo chown -R user ~/.composer
(와 함께)user
현재 사용자의 경우,kramer65
)
이 명령을 실행하면 composer global require 명령을 실행할 수 있는 권한이 있어야 합니다.
또한 현재 디렉토리에서 .composer 파일을 삭제해야 터미널 창을 열고 다음 명령을 입력할 수도 있습니다.
sudo rm -rf .composer
저는 Ubuntu 18.04에서.나는 속으로 갈고 닦아야 했다.~/.config/composer/
예.
sudo chown -R $USER ~/.config/composer
그러면 글로벌명령어가 동작합니다.
저 같은 경우,~/.composer
.
그래서 라라벨 앱 루트 폴더 안에 있어서sudo chown -R $USER composer.lock
도움이 됐어요.
저도 이 문제에 직면했지만, 제 경우 잘못된 디렉토리에 있었습니다.작업 중인 디렉토리를 확인합니다.
저 같은 경우에는.composer
루트 소유였기 때문에sudo rm -fr .composer
글로벌한 요구가 통했습니다.
주의하세요!무엇을 하고 있는지 확실하지 않으면 이 명령을 사용하지 않습니다.
제 경우, 여기 있는 다른 답변에 표시된 모든 위치에서 모든 권한이 올바르지만 여전히 이 오류가 발생하고 있습니다.
루트가 소유하고 있는 벤더 디렉토리가 몇 개 있음이 판명되었습니다.작곡가 쓴다composer.lock
파일을 도처에 저장해 둘 수 있습니다.
그래서-모든 소유권이 사용자로 전환했다는laravel 돛 컨테이너-구체적으로 된 것은 내 사건의 해결.sail
이 프로젝트에:
그 입력하세요sail
루트로서 컨테이너:
vendor/bin/sail root-shell
프로젝트의 모든 파일에 대한 파일 소유권을 설정합니다.
chown -R sail:sail /var/www/html
벤더 디렉토리는 첫 번째 시도로만 실행할 수 있습니다.
chown -R sail:sail /var/www/html/vendor
그 소유권에 대해hand-rolled에서 진입한 후에도 틀렸다.docker-compose.yaml
Laravel하다, IMO, 분리하는 것은 합리적인 방법에서 파일 소유권 및 사용 권한을 처리하기.root
현재 응용 프로그램을 사용하거나 응용 프로그램 사용자로부터sail
..
슈퍼 엣지 케이스일 수도 있지만 Travis CI를 사용하고 캐시를 활용하는 경우 모든 캐시를 지우고 재시도해야 할 수도 있습니다.
sudo 빌드에서 non sudo 빌드로 전환할 때 문제를 해결했습니다.
지만, 내 경우에는 나는 그래서 명령을 실행할 PowerShell를 사용하고 있어. 나는 명령에 먼저 여러 파일 차단 해제를 위해서 이 고쳤다 같은 예외 하고 있었다.동일한 예외가 발생했지만, 제 경우에는 PowerShell을 사용하여 명령을 실행하고 있기 때문에 여러 파일의 차단을 먼저 해제하라는 지시로 이 문제를 해결했습니다. PS C:\> dir C:\executable_file_Path\*PowerShell* | Unblock-File
그리고 다음 사항을 패키지 다음명령을사용하여 패키지를 로드합니다를 로드하기 위해 사용한다.& 'C:\path_to_executable\php.exe' "c:\path_to_composer_.phar_file\composer.phar "require desired/package
저 같은 경우는저같은 경우에는을 사용했다.sudo mkdir projectFolder
폴더를 만들.더를만만 만만만다다 이외의 userroot 를 했습니다.
저는 사용 로 변경했습니다.sudo chown mynonrootuser:mynonrootuser projectFolder
잘 작동했어요
WSL Windows 10에서 사용해도 같은 에러가 발생.이 문제를 해결하기 위해 다음 명령을 사용했습니다.-
sudo chown -R $USER /home/<username>/.config/composer
Windows 버전의 컴포저에서도 같은 문제가 발생했습니다.
C:\composer
이 명령어를 사용했을 때
C:\composer에는 aws/aws-sdk-php가 필요합니다.
그리고 간단하게 composer installed folder에 들어가서 다시 시도했다.
C:\composer> composer에는 aws/aws-sdk-php가 필요합니다.
패키지가 빠르게 설치되었습니다.
언급URL : https://stackoverflow.com/questions/41212362/composer-file-put-contents-composer-json-failed-to-open-stream-permission
'sourcecode' 카테고리의 다른 글
WAMP를 사용하여 phpMyAdmin에 로그인하는 방법, 사용자 이름과 비밀번호는 무엇입니까? (0) | 2022.09.15 |
---|---|
고유하지 않은 테이블/에일리어스 (0) | 2022.09.15 |
Python의 문자열 목록에 동일한 문자열 추가 (0) | 2022.09.15 |
마리아답의 직업.제어 프로세스가 오류 코드와 함께 종료되었기 때문에 서비스가 실패했습니다. (0) | 2022.09.15 |
왜 MariaDBB는 smallint에 텍스트를 삽입할 수 있습니까? (0) | 2022.09.14 |