2013-04-09 1 views
1

오늘은 sails.js을 설치하고 동일한 패키지를 반복해서 설치하는 방법을 봅니다. (내 응용 프로그램 종속성의 종속성) npm이 시스템과 같은 보석을 사용하지 않는 이유는 무엇입니까? 그것을 라이브러리와 다른 버전으로 유지하십시오. 서버에 여러 프로젝트가 있고 동일한 libs를 반복해서 설치하지 않으면 동일한 lib를 공유하는 것이 좋습니다. (이것이 npm 링크의 해결 방법 인 것으로 알고 있지만 모범 사례로 간주되지 않습니다).npm 중첩 된 종속성, 왜 보석을 모방하지 않습니까?

답변

2

이 기능을 선택하는 가장 좋은 방법은 제품에서 사용할 수있는 다양한 라이브러리 버전입니다. 아마도 Connect 2.8을 사용하지만 Connect 버전과 호환되지 않는 Connect 1.5를 사용했을 수도 있습니다.

+1

정확하게! 나는 이것이 아이작이 이런 방식으로 한 주된 이유라고 생각한다. 저는 작년에 연극과 모든 프로젝트에서 npm을 사용해 왔으며, 정말 괴롭습니다. 나는 그가 올바른 선택을했다는 것을 확고히 믿습니다. – mikermcneil

+2

나는 혼자 힘으로 불만이 없다. 꽤 견고한 도구이다. –

3

종속성 관리가 어렵습니다. npm은 패키지를 공유하지 않고 모든 패키지에 자체 node_modules 폴더가 있어야한다고 강력하게 주장합니다. 이렇게하면 많은 함정을 피할 수 있습니다. 패키지는 꽤 작으며 종속성 버전 관리와 관련된 문제를 추적하는 것보다 더 작은 디스크 공간을 사용하는 것이 좋습니다.

흥미로운 점은 git에 node_modules를 포함해야하는시기입니다. http://www.futurealoof.com/posts/nodemodules-in-git.html

관련 문제