전 세계에서 npm 패키지를 설치할 때 일부 node.js 개발을 집에서 시작할 예정 이었지만 이상한 동작이 발생했습니다.npm은 전 세계적으로 설치된 패키지에 대해 기묘한 퍼미션을 설정합니다.
WebStorm을 IDE로 사용하고 ECMAScript6 기능을 사용하고 싶습니다. 즉, WebStorm이 Babel을 사용하여 소스를 변형해야합니다.
그래서 나는 세계적으로 바벨을 설치하려고 :
$ sudo npm install -g babel-cli
은 무엇 발생하는 파일이 루트 사용자의 액세스 가능한 모든 좋은 것을, 그리고 babel-cli
디렉토리와 그 안에있는 모든 파일 및 디렉토리는만큼 잘 봐 나는 root
로 보입니다. 내가 패키지에서 찾거나 사용하려고하면 문제는 다른 사용자로 온다 :
$ ls -l /usr/lib/node_modules/babel-cli/
ls: cannot access '/usr/lib/node_modules/babel-cli/lib': Permission denied
ls: cannot access '/usr/lib/node_modules/babel-cli/index.js': Permission denied
ls: cannot access '/usr/lib/node_modules/babel-cli/scripts': Permission denied
ls: cannot access '/usr/lib/node_modules/babel-cli/node_modules': Permission denied
ls: cannot access '/usr/lib/node_modules/babel-cli/package.json': Permission denied
ls: cannot access '/usr/lib/node_modules/babel-cli/README.md': Permission denied
ls: cannot access '/usr/lib/node_modules/babel-cli/bin': Permission denied
total 0
d????????? ? ? ? ? ? bin/
d????????? ? ? ? ? ? lib/
d????????? ? ? ? ? ? node_modules/
d????????? ? ? ? ? ? scripts/
-????????? ? ? ? ? ? index.js
-????????? ? ? ? ? ? package.json
-????????? ? ? ? ? ? README.md
내가 설치 한 패키지에 문제가되지 않습니다, 그들은 모두는 다음과 같이된다.
저는 우분투 16.04에서 node.js v6.3.0과 npm 3.10.3을 사용하고 있습니다.
새로 설치 한 node.js는 here입니다. npm
을 업데이트하려고 시도하면 글로벌 npm 디렉토리에 동일한 문제가 발생하고 root
을 제외하고 npm을 사용할 수 없게됩니다.
나는 사용자로 글로벌 node_modules
목록
nobody
에 의해 소유되는 디렉토리 외에
$ ll /usr/lib/node_modules/
total 8,0K
drwxr--r-- 6 nobody root 4,0K jul 15 23:50 babel-cli/
drwxr-xr-x 10 root root 4,0K jul 15 23:21 npm/
를 참조하십시오.
패키지를 설치할 때 오류가 없습니다.
npm 및/또는 노드에 문제가 있습니까? 우분투에 문제가 있습니까? 또는 어떻게 노드를 설치 했습니까? 어떤 일이 일어날 지 모르는 것이 무엇인가 같은 이유가 무엇일까요?
로컬로 설치하면 정상적으로 작동하고 babel-cli
패키지 인 경우 로컬 개발 패키지로 설치하는 것이 허용 가능한 해결 방법입니다. 전 세계적으로 패키지를 설치할 때 어떤 일이 일어나는지, 왜 그런지 알고 싶습니다.
문제 answered here. 문제는 npm
및 node
과 관련이 없습니다.
및 나는이 문제를 보지 못했다. 그러나 이전 npm으로 노드 4.4를 실행 중입니다. 바벨 (babel)에 관한 문제 만 겪고 있습니까? 툴툴 거리거나, 꿀꺽 꿀꺽 마시는 것, 바우어 (bower)와 같은 다른 CLI 도구는 어떻습니까? – tsturzl
@tsturzl 전 세계적으로 설치 한 모든 패키지에서 동일합니다. –
절대'sudo'와'npm'을 절대로 사용하지 마십시오. 너는 단지 문제를 요구하고있다. 노드를 날려 보내고 모든 npm 모듈과 디렉토리를 열고 일반 사용자 권한으로 모든 것을 설치하십시오. – xdumaine