npm 설치 오류: Error: EACCES: permission denied
오류는 다음과 같습니다.
sudo npm i webpack -g
/Users/xesfe/.npm-global/bin/webpack -> /Users/xesfe/.npm-global/lib/node_modules/webpack/bin/webpack.js
# System-wide .profile for sh(1)
> [email protected] install /Users/xesfe/.npm-global/lib/node_modules/webpack/node_modules/fsevents
> node-gyp rebuild
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/Users/xesfe/.npm-global/lib/node_modules/webpack/node_modules/fsevents/build'
gyp ERR! System Darwin 19.2.0
gyp ERR! command "/Users/xesfe/.nvm/versions/node/v10.16.2/bin/node" "/Users/xesfe/.nvm/versions/node/v10.16.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/xesfe/.npm-global/lib/node_modules/webpack/node_modules/fsevents
gyp ERR! node -v v10.16.2
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/webpack/node_modules/fsevents):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
+ [email protected]
updated 1 package in 22.243s
시나리오 1:
npm install --unsafe-perm=true --allow-root -g nodeppt
설치할 때 nodeppt를 계속 잘못 보고하고 자료를 찾아서 --unsafe-perm=true--allow-root를 추가하면 문제를 해결할 수 있습니다.git에서 issue:https://github.com/npm/npm/issues/17268이 방안은 그다지 우아하지 않은 것 같아서 두 번째 방안을 찾았다.
시나리오 2
1. 글로벌 폴더 구성
mkdir ~/npm-global
npm config set prefix '~/npm-global'
ps:mac에서 점을 만들지 마세요(.)시작하는 프로필입니다. 그렇지 않으면 해결할 수 없습니다.
2. 환경 변수 수정
vi /etc/profile
만약 파일이 읽기 전용이라면, 파일의 읽기와 쓰기 권한을 바꾸시오
sudo chmod 777 /etc/profile
/etc/profile에 추가
# npm
export PATH=~/npm-global/bin:$PATH
3. 환경 변수 구성 활성화
source /etc/profile
4, 다시 포장
i webpack -g
/Users/xesfe/npm-config/bin/webpack -> /Users/xesfe/npm-config/lib/node_modules/webpack/bin/webpack.js
> [email protected] install /Users/xesfe/npm-config/lib/node_modules/webpack/node_modules/fsevents
> node-gyp rebuild
SOLINK_MODULE(target) Release/.node
CXX(target) Release/obj.target/fse/fsevents.o
SOLINK_MODULE(target) Release/fse.node
+ [email protected]
5. 웹팩을 실행하면
zsh: command not found: webpack
그러면 환경 변수에 추가하면 됩니다.
다음을 수행합니다.
vi .bash_profile
있다bash_프로필 추가
export NPM_CONFIG=~/npm-config
export PATH=$PATH:$NPM_CONFIG/bin
다음 명령을 실행하여 환경 변수를 적용합니다.
source .bash_profile
OK, 권한이 부족한 문제를 완벽하게 해결한다.
참조:
https://www.jianshu.com/p/7192b336c6cd
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.