Por ejemplo, cuando instalo 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.
¿Hay una bandera mágica que pueda pasar a npm que también instalará las dependencias de pares? No he podido encontrar uno ... Es tedioso copiar y pegar manualmente las dependencias del mismo nivel y asegurarme de tener las versiones correctas.
En otras palabras, prefiero no tener que hacer:
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
¿Cuál es la mejor manera?

[email protected]requierees6-promise@^3.0.2). Sin embargo, quiero saber si hay un comando / indicador que instala automáticamente las dependencias del mismo nivel.npm -v=>3.5.3Respuestas:
La instalación automática de dependencias entre pares se eliminó explícitamente con npm 3, ya que causa más problemas de los que intentó resolver. Puedes leer sobre esto aquí, por ejemplo:
Entonces no, por las razones dadas, no puede instalarlas automáticamente con npm 3 hacia arriba.
fuente
extraneouspaquetesLo resolví reescribiendo package.json con los valores exactos de advertencias sobre:
package.json: "es6-shim": "^ 0.33.3",
package.json: "reflect-metadata": "0.1.2",
fuente
npm cache clean,npm installpuede ser mejor que limpiar node_modules? Siempre me abstengo de eliminar node_modules, me gusta averiguar cuál es el problema en lugar de eliminar el directorio.npm install --cache /tmp/empty-cacheusar un caché temporal en lugar de eliminar el actual. npm ERR! npm ERR! Si está seguro de que desea eliminar todo el caché, vuelva a ejecutar este comando con --force.Código de trucos útil en este escenario y algunos otros ...
├── DEMANDA DE PAREJA NO REUNIDA @ angular / común @ 4.0.2
├── DEPENDENCIA IGUAL DE UNMET @ angular / compilador @ 4.0.2
├── DEMANDA DE PAREJA NO REUNIDA @ angular / compiler-cli @ 4.0.2
├── DEPENDENCIA DE PARES NO REUNIDAS @ angular / core @ 4.0.2
├── DEPENDENCIA DE PARES NO REUNIDAS @ angular / formas @ 4.0.2
├── DEPENDENCIA DE PARES NO REUNIDAS @ angular / http @ 4.0.2
├── DEPENDENCIA IGUAL DE UNMET @ angular / platform-browser @ 4.0.2
├── DEPENDENCIA IGUAL DE UNMET @ angular / platform-browser-dynamic @ 4.0.2>
npm install @ angular / common @ 4.0.2 @ angular / compiler @ 4.0.2 @ angular / compiler-cli @ 4.0.2 @ angular / core @ 4.0.2 @ angular / formas @ 4.0.2 @ angular / http @ 4.0 .2 @ angular / platform-browser @ 4.0.2 @ angular / platform-browser-dynamic @ 4.0.2 --save
fuente
--saveEvidentemente, la opción ya no es necesaria a partir de npm 5.0.0: stackoverflow.com/a/19578808/12484El proyecto
npm-install-peersdetectará pares y los instalará.Por
v1.0.1lo tanto, no admite la escriturapackage.jsonautomática, lo que esencialmente resolvería nuestra necesidad aquí.Agregue su apoyo para emitir en vuelo: https://github.com/spatie/npm-install-peers/issues/4
fuente
This package doesn't seem to have any peerDependenciesnpm-install-peersse instalarápeerDependenciesregistrado enpackage.json. No instalarápeerDependenciesdependencias comoangular2.npm-install-peerssolo está destinado a instalar los"peerDependencies"listados en el paquete de su proyecto.json. Está intentando instalar la"peerDependencies"lista de cada uno de susnode_modules/<package>/package.jsonarchivos, no sus dependencias directas entre pares.Experimenté estos errores cuando estaba desarrollando un paquete npm que tenía
peerDependencies. Tenía que asegurarme de que algunopeerDependenciestambién figurara comodevDependencies. El proyecto no usaría automáticamente los paquetes instalados globalmente.fuente
Instale hilo y luego corra
hilo global agregar instalación-peerdeps
fuente
Ejecute esto:
npm install-testfuente