전역적으로 노드 패키지를 설치하는 방법 - 올바른 방법은 무엇입니까?

전역적으로 노드 패키지를 설치하는 방법 - 올바른 방법은 무엇입니까?

각 사용자에 대해 공통 노드 패키지를 중복 설치하지 않으려고 노력하고 있습니다. 일부 공통 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이고 심볼릭 링크를 지원하는 운영 체제에서만 사용할 수 있습니다.).

자세한 내용은 다음을 읽어보십시오.

  1. npm-1-0-global과 로컬 설치 비교
  2. npm-1-0-링크

관련 정보