2014-04-18 3 views
1
에 있지 않은 모듈에 설치합니다.

프로젝트를 만들고 있는데 다른 모듈로 나누고 싶습니다. 나는 모듈을 node_modules/에 넣어야한다고 알고 있지만 당분간 주 버전 컨트롤에 모듈을 커밋하고 싶습니다. (.gitignore을 사용하여 현재 node_modules/ 디렉토리를 무시하고 있습니다).npm은 node_modules/

나의 현재 프로젝트 설정 :

services/ 
services/service1/package.json 
services/service1/index.js 
services/service2/package.json 
services/service2/index.js 
node_modules/* 
app.js 
package.json 

내 문제는 상대 require들과 함께 작동하지만 services/*/package.json의 의존성이로드되지 않습니다이다. 메인 package.json 만로드됩니다.

좋은 접근 방법입니까? 더 좋은가요? 모든 의존성을 설치하기 위해 어떤 명령을 실행할 수 있습니까? 이것은 CI/CD 설정에 대한 문제입니다.

감사합니다.

+0

일부 모듈은 플랫폼에 따라 다르므로 버전 제어하에 배치하는 것이 좋다고 생각하지 않습니다. – jgillich

답변

0

내가 여기 https://github.com/npm/npm/issues/4017 유사한 기능 요청을 발견하고 원하는 서비스를 node_modules에서 소프트 링크를 생성하고 어쩌면 당신이 사용할 수있는 어떻게 든

그들을 유지하는 것입니다 당신이 그것을 내가 볼

한 접근을 할 수없는 것 이 스크립트는 https://www.npmjs.org/doc/misc/npm-scripts.htmlpostinstall?

+0

'postinstall'에서 커스텀 스크립트가 좋은 시작이라고 생각했지만 스크립트를 작성하지 못했습니다. 나는'발견을 찾았다. -name package.json -maxdepth 2 -execdir npm install \;'그러나 원하는대로 작동시키지 못했습니다. – Simon

+0

나는 bash 프로그래밍이 좋지 않다. 개인적으로 나는 이것을 위해 node/js 스크립트를 선호 할 것이다. (npm을 가지고 있기 때문에, 콘솔에서 js 스크립트를 실행할 수있다.) – llamerr