각 사용자에 대해 공통 노드 패키지를 중복 설치하지 않으려고 노력하고 있습니다. 일부 공통 Node 패키지를 전 세계적으로 설치하고 싶습니다. 하지만 Arch Linux에서는 권한 문제가 발생했습니다.
npm install [package] -g
다음 메시지와 함께 실패합니다.
/usr/lib/node_modules에 대한 쓰기 권한이 없습니다.
이것은 효과가 있었습니다:
sudo npm install [package] -g
그러나 일반 사용자가 패키지를 사용하려고 하면 다음과 같은 오류가 발생합니다.
오류: EACCES: '/usr/lib/node_modules/[패키지]/lib/[파일].js' 열기 권한이 거부되었습니다.
일부 패키지를 전역적으로 설치해야 한다고 가정해 보겠습니다. 올바른 방법은 무엇입니까? 편집: 요청 이유 보기여기.
답변1
일반적으로 말하면모든 패키지는 로컬에 설치되어야 합니다.. 이렇게 하면 필요한 경우 동일한 패키지의 서로 다른 버전에서 여러 애플리케이션을 실행할 수 있습니다. 글로벌 패키지 업데이트로 인해 종속성 및 호환성이 중단될 수 있습니다.
어떤 것을 만들어전역적으로 설치하는 경우패키지는 셸에서 실행하려는 실행 가능한 명령을 제공합니다.
하지만개발 시 전역적으로 설치된 패키지를 사용하려면 다음을 사용하세요 npm link <global-package>
. 이렇게 하면 패키지에 대한 로컬 링크가 생성됩니다(npm >= 1.0이고 심볼릭 링크를 지원하는 운영 체제에서만 사용할 수 있습니다.).
자세한 내용은 다음을 읽어보십시오.