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.3
Respuestas:
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
extraneous
paquetesLo 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 install
puede 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-cache
usar 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
--save
Evidentemente, la opción ya no es necesaria a partir de npm 5.0.0: stackoverflow.com/a/19578808/12484El proyecto
npm-install-peers
detectará pares y los instalará.Por
v1.0.1
lo tanto, no admite la escriturapackage.json
automá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 peerDependencies
npm-install-peers
se instalarápeerDependencies
registrado enpackage.json
. No instalarápeerDependencies
dependencias comoangular2
.npm-install-peers
solo 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.json
archivos, 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 algunopeerDependencies
tambié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-test
fuente