2011-08-14 3 views
0

글로벌 모듈에 대한 번들로 된 의존성을 촉진시키는 명백한 방법은 node_modules/foo/node_modules/baz에서 node_modules/baz으로 디렉토리를 이동하는 것입니다.하지만 모두해야합니까? 은밀한 악수가 있습니까? 그렇지 않으면 어떤 일이 신비하게 잘못 될까요?번들로 된 종속성을 전역 모듈로 승격시키는 방법은 무엇입니까?

(내가 예/아니오 질문을하는 동안 : 나는 npm이 현재 디렉토리에있는 어떤 디렉토리 아래에서 node_module을 삭제한다는 것을 알았습니다. 의도 한 동작입니까? 재귀 적으로 유용 할 수 있습니다. 의존성 설치 - 또는 아이러니 한 느낌없이 npm 설치를 엉망으로 만들었습니까?)

(엉망인 설치에 관한 예/아니오 질문에 대해서는 노드 설치가 자동으로 보이지 않습니다. 자신의 node_modules 디렉토리에 NODE_PATH에 추가해야했습니다.이 예상되는 동작입니까?)

node.js의 2 일 후 내 평가 : 훌륭한 제품, 나는 돈을 내지 않습니다. 왜 그것이 그보다 더 인기가 없는지 알지 못한다. - 나는 익숙한 표준 Apache/Tomcat 시스템에서 절대적으로 해결할 수없는 문제를 해결하는 가장 좋은 방법이다. 그러나 대답을 찾는 것이 더 어렵다. ("어떻게 MySQL에 연결할 수 있습니까?" "어떻게로드 밸런스를합니까?")

답변

0

npm이 버전 1.0에서 변경된 사항은 설치 방법에 따라 변경되었습니다. 글로벌 vs 로컬의 관점에서

모듈을 전체적으로 설치하려면 -g 플래그를 사용할 수 있습니다. 로컬 원하는 경우

npm install awesome-module -g

당신은 -g 플래그를 놓습니다. 당신은 세계적으로 설치에 모듈을 원하는 경우

당신은에

"preferGlobal": true 

package.json

지금까지 두 번째 질문은 간다, 그래 그것이 의도 된 행동이 무엇에 node_module을 드롭하는 것입니다 추가 할 수 있습니다 디렉토리는 로컬 설치의 일부입니다.

npm 1.0 공개 블로그 링크 : http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/

관련 문제