npm을 사용하여 모듈을 전체적으로 설치하려면 어떻게합니까?


202

최근 OSX에 Node.js 및 npm 모듈을 설치했으며 생각하는 설정에 문제가 있습니다.

npm install [MODULE] is not installing the node.js module to the default path 
which is /usr/local/lib/node_modules.

답변:


347

npm 모듈을 전체적으로 설치하려면 다음과 같이 새 -g플래그 를 사용해야합니다 .

npm install forever -g

1.0rc 이후의 npm 모듈 설치에 대한 일반적인 권장 사항 ( blog.nodejs.org 에서 가져옴 ) :

  • 프로그램에서 사용하려는 것을 require ( 'whatever')를 사용하여 설치하는 경우 프로젝트 루트에 로컬로 설치하십시오 .
  • 쉘, 명령 행 또는 기타에서 사용하려는 것을 설치하는 경우 바이너리가 PATH 환경 변수로 끝나도록 전역으로 설치하십시오 .

나는 최근 에이 권장 사항을 사용했으며 꽤 매끄럽게 진행되었습니다. 명령 줄 도구이기 때문에 전 세계에 영원히 설치하고 모든 응용 프로그램 모듈을 로컬에 설치했습니다.

그러나 일부 모듈을 전체적으로 사용하려면 (예 : express 또는 mongodb)이 조언을 수행하십시오 ( blog.nodejs.org 에서 가져옴 ).

물론 두 가지 모두를 원하는 경우가 있습니다. Coffee-script와 Express는 모두 명령 줄 인터페이스와 라이브러리가있는 앱의 좋은 예입니다. 이러한 경우 다음 중 하나를 수행 할 수 있습니다.

  • 두 곳에 설치하십시오 . 정말 디스크 공간이 부족합니까? 정말 괜찮습니다. 그들은 작은 JavaScript 프로그램입니다.
  • 전역으로 설치 한 다음 npm link coffee-script 또는 npm link express (심볼릭 링크를 지원하는 플랫폼 인 경우)를 연결 한 다음 모든 심볼릭 링크를 업데이트하려면 전역 복사본 만 업데이트하면됩니다.

첫 번째 옵션은 내 의견으로는 최고입니다. 단순하고 명확하며 명시 적입니다. 두 번째는 다른 프로젝트에서 동일한 라이브러리를 재사용하려는 경우 정말 유용합니다. (나중에 할부로 npm 링크에 대한 추가 정보)

나는 그 변형 중 하나를 테스트하지는 않았지만 매우 간단합니다.


7
설명을 주셔서 감사합니다. Isaacs는 전체 npm 맨 파일과 git wiki를 위의 텍스트로 바꿔야합니다. 대량 혼란을 해결할 수 있습니다.
Mauvis Ledford

wee. 이것은 편리 해졌고, 나는이 변화에 사로 잡혔습니다. 어느 시점에서 npm install은 명령 줄 액세스 권한을 부여 한 후 사라졌으며 전환을 포착하기에 충분히 프로젝트를 따르지 않았습니다.
Mark Essel

이것은 왜 내가 아파치 설정 디렉토리에 노드 모듈이있는 이유를 설명합니다. . .
Ian Hunter

1
에서 blog.node.js.org : 일반적으로 글로벌 바이너리가 / node_modules 지역 모듈 ./node_modules에 {접두사} / bin 및 글로벌 모듈 {접두사}에 설치에 설치, 실행 파일 ./node_modules/.bin/ 갈 . npm prefix로컬 접두사를 가져 node prefix -g
오고

"프로그램에서 사용하려는 것을 require ( 'whatever')를 사용하여 설치하는 경우 프로젝트 루트에 로컬로 설치하십시오 ." -모듈에 컴파일 된 바이너리가 포함되어 있으면 좋은 생각이 아닙니다. 리눅스와 Windows에서 올바르게 다시 컴파일해야합니다. 그런 종류의 모듈은 NODE_PATH 환경을 사용하여 설정해야한다고 생각합니다 ( nodejs.org/api/… )
Sneg

8

Mac에서 출력에 내가 찾던 정보가 포함되어 있음을 발견했습니다.

$> npm install -g karma
...
...
> ws@0.4.25 install /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
...
$> ls /usr/local/share/npm/bin
karma nf

내 줄에 추가 /usr/local/share/npm/bin하고 저장 한 다음 ing 한 후 실행할 수있었습니다. export PATH.bash_profilesource

$> karma --help

일반적으로.



2

Ubuntu에 Express를 설치하는 데 문제가있었습니다.

어떤 이유로 NPM 명령이 누락 된 경우을 사용하여 npm 명령을 테스트하십시오 npm help. 없으면 다음 단계를 따르십시오 -http : //arnolog.net/post/8424207595/installing-node-js-npm-express-mongoose-on-ubuntu

Express 명령 만 작동하지 않으면 다음을 시도하십시오.

sudo npm install -g express

이로 인해 Windows7 및 OSX에서 익숙한 모든 것이 작동했습니다.

도움이 되었기를 바랍니다!



-1

우분투에서 .bashrc 파일 에 node_modules의 경로를 설정 하십시오

export PATH = "/ home / username / node_modules / .bin : $ PATH"


-5

와 같은 전역 위치에 노드 모듈을 설치할 수있는 쓰기 권한이 없을 수 있습니다 /usr/local/lib/node_modules.이 경우 npm install -g 패키지를 루트로 실행하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.