답변:
다음과 같이 사용자 npm 관련 폴더의 소유권을 현재 사용자에게 복원하십시오.
sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config
root
소유권 을 가지고 생성 된 것처럼 보입니다 . 이것은 모두 고쳐졌다. 감사합니다!
NPM을 처음 실행할 때 예를 들어 npm install -g를 수행하려고 할 때 sudo를 사용하는 경우에 발생합니다.
캐시 폴더는 루트가 아닌 현재 사용자가 소유해야합니다.
sudo chown -R $USER:$GROUP ~/.npm
sudo chown -R $USER:$GROUP ~/.config
이렇게하면 sudo가 아닌 일반 사용자 권한으로 실행할 때 위 폴더에 대한 소유권이 부여됩니다.
SUDO를 사용하여 전역 패키지를 설치해서는 안된다는 점도 주목할 가치가 있습니다. 권한 문제가 발생하면 글로벌 디렉토리를 변경하는 것이 좋습니다. 문서는 다음을 권장합니다.
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
그런 다음 정의하는 곳 어디에서나 PATH 업데이트 (~ / .profile 등)
export PATH=~/.npm-global/bin:$PATH
그런 다음 PATH env 변수가 설정되어 있는지 확인해야합니다 (터미널 다시 시작 또는 source 명령 사용)
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally
sudo npm cache clean --force --unsafe-perm
그리고 npm 나는 정상적으로 간다
위의 답변은 저에게 효과적이지 않았습니다. 로 명령을 실행하십시오 --unsafe-perm
.
예 :
npm install -g node@latest --unsafe-perm
이것은 문제를 해결하는 것 같습니다.
답변에 대한 제안 사항이 없으면 다음 명령을 시도하십시오 npm cache clear --force
.. 그것은 나를 위해 일했다.
https://github.com/vuejs/vue-cli/issues/1809 에서 찾았습니다 .
위치 _cache/tmp
에 .npm
수동으로 폴더 를 만들고 /Users/marknorgate/.npm/_cacache/tmp
관리자 권한으로 명령을 실행하십시오.
이것은 나를 위해 일했다!
다음을 사용하십시오. 명령 행의 홈 디렉토리에 글로벌 설치를위한 디렉토리를 작성하십시오.
mkdir ~/.npm-global
새 디렉토리 경로를 사용하도록 npm을 구성하십시오.
npm config set prefix '~/.npm-global'
원하는 텍스트 편집기에서 ~ / .profile 파일을 열거 나 작성하고 다음 행을 추가하십시오.
export PATH=~/.npm-global/bin:$PATH
명령 행에서 시스템 변수를 업데이트하십시오.
source ~/.profile
이제 npm install을 사용하십시오.
expo에 다음 명령을 시도 할 수 있습니다.
sudo chown -R $USER:$GROUP ~/.expo
npm 커뮤니티에 따라
sudo npm cache clean --force --unsafe-perm
그런 다음 npm 설치가 정상적으로 진행됩니다.
출처 : npm community-unhandled-rejection-error-eacces-permission-denied