[node.js] npm 피어 종속성을 자동으로 설치하는 방법은 무엇입니까?

예를 들어 Angular2를 설치할 때 :

npm install --save angular2
temp@1.0.0 /Users/doug/Projects/dougludlow/temp
├── angular2@2.0.0-beta.3 
├── UNMET PEER DEPENDENCY es6-promise@^3.0.2
├── UNMET PEER DEPENDENCY es6-shim@^0.33.3
├── UNMET PEER DEPENDENCY reflect-metadata@0.1.2
├── UNMET PEER DEPENDENCY rxjs@5.0.0-beta.0
└── UNMET PEER DEPENDENCY zone.js@0.5.11

npm WARN angular2@2.0.0-beta.3 requires a peer of es6-promise@^3.0.2 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of es6-shim@^0.33.3 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of reflect-metadata@0.1.2 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of rxjs@5.0.0-beta.0 but none was installed.
npm WARN angular2@2.0.0-beta.3 requires a peer of zone.js@0.5.11 but none was installed.

피어 종속성을 설치하는 npm에 전달할 수있는 마술 플래그가 있습니까? 찾을 수 없었습니다 … 피어 종속성을 수동으로 복사하여 붙여넣고 올바른 버전이 있는지 확인하는 것이 지루합니다.

다시 말해서, 나는 오히려 할 필요가 없습니다.

npm install --save angular2@2.0.0-beta.3 es6-promise@^3.0.2 es6-shim@^0.33.3 reflect-metadata@0.1.2 rxjs@5.0.0-beta.0 zone.js@0.5.11

더 좋은 방법은 무엇입니까?



답변

피어 종속성의 자동 설치는 해결하려고 시도한 것보다 많은 문제를 야기하므로 npm 3에서 명시 적으로 제거되었습니다. 예를 들어 여기에서 읽을 수 있습니다.

따라서, 주어진 이유로 인해 npm 3을 위로 사용하면 자동으로 설치할 수 없습니다.


답변

정확한 값 경고로 package.json을 다시 작성하여 해결했습니다.

npm WARN angular2@2.0.0-beta.3 requires a peer of es6-shim@^0.33.3 but none was installed.

package.json : “es6-shim”: “^ 0.33.3”,

npm WARN angular2@2.0.0-beta.3 requires a peer of reflect-metadata@0.1.2

package.json : “reflect-metadata”: “0.1.2”,

Delete node_modules directory

npm install


답변

이 시나리오 및 다른 일부에 유용한 치트 코드 …

MET── UNMET PEER DEPENDENCY @ angular / common @ 4.0.2

MET── UNMET PEER DEPENDENCY @ angular / compiler @ 4.0.2

MET── UNMET 피어 디펜 던시 @ angular / compiler-cli @ 4.0.2

MET── UNMET PEER DEPENDENCY @ angular / core @ 4.0.2

MET── UNMET PEER DEPENDENCY @ angular / forms @ 4.0.2

MET── UNMET PEER DEPENDENCY @ angular / http @ 4.0.2

MET── UNMET PEER DEPENDENCY @ angular / platform-browser @ 4.0.2

├── UNMET PEER DEPENDENCY @ angular / platform-browser-dynamic @ 4.0.2>

  1. 오류를 코드 편집기에 복사 하여 붙여 넣습니다 .
  2. 커서 로 원치 않는 부분을 강조 표시 하십시오. 이 경우 ‘├── UNMET PEER DEPENDENCY’
  3. command + d 를 여러 번 누릅니다 .
  4. Delete 키를 두 번 누릅니다 . (실수로 ‘├── UNMET PEER DEPENDENCY’를 강조 표시 한 경우 스페이스를 누르십시오.)
  5. 한 번 누릅니다. ‘npm install’추가
  6. 한 번 누르십시오. ‘-저장 추가
  7. 물건을 진료소에 다시 복사하고 실행하십시오.

npm install @ angular / common @ 4.0.2 @ angular / compiler @ 4.0.2 @ angular / compiler-cli @ 4.0.2 @ angular / core @ 4.0.2 @ angular / forms @ 4.0.2 @ angular / http @ 4.0 .2 @ angular / platform-browser @ 4.0.2 @ angular / platform-browser-dynamic @ 4.0.2 –save


답변

이 프로젝트 npm-install-peers는 동료를 감지하여 설치합니다.

현재 자동으로 v1.0.1다시 쓰는 기능은 지원하지 않으므로 package.json여기서 우리의 필요를 해결할 수 있습니다.

https://github.com/spatie/npm-install-peers/issues/4 비행 중에 지원을 추가하십시오


답변

가지고있는 npm 패키지를 개발할 때 이러한 오류가 발생했습니다 peerDependencies. 나는 peerDependencies또한로 나열되어 있는지 확인해야 했습니다 devDependencies. 프로젝트는 전체적으로 설치된 패키지를 자동으로 사용하지 않습니다.


답변

원사를 설치 한 다음 실행

원사 글로벌 추가 설치-발음


답변

이것을 실행하십시오 : npm install-test