Estoy en Windows 10, con Node 5.6.0 y npm 3.6.0. Estoy tratando de instalar material angular y mdi en mi carpeta de trabajo. npm instala errores de mdi de material angular con:
+-- angular@1.5.0
+-- UNMET PEER DEPENDENCY angular-animate@^1.5.0
+-- UNMET PEER DEPENDENCY angular-aria@^1.5.0
+-- angular-material@1.0.6
+-- UNMET PEER DEPENDENCY angular-messages@^1.5.0 `-- mdi@1.4.57
npm WARN enoent ENOENT: no such file or directory, open
'C:\Users\xxxxx\Desktop\ngClassifieds\package.json'
npm WARN angular-material@1.0.6 requires a peer of
angular-animate@^1.5.0 but none was installed.
npm WARN angular-material@1.0.6 requires a peer of angular-aria@^1.5.0
but none was installed.
npm WARN angular-material@1.0.6 requires a peer of
angular-messages@^1.5.0 but none was installed.
¿Cómo resuelvo esto para instalar AngularJS Material y MDI?
Respuestas:
npm ya no instala las dependencias de pares, por lo que debe instalarlas manualmente, simplemente haga una
npm install
en las plataformas necesarias y luego intente instalar la principal nuevamente.Responder al comentario:
está justo en ese mensaje, dice qué deps te estás perdiendo
Entonces necesitas
npm install angular angular-animate angular-aria angular-material angular-messages mdi
fuente
package.json
?--save
conmutador npm actualizará su package.json por usted (o--save-dev
si el paquete es una dependencia de desarrollo)UNMET PEER DEPENDENCY
se genera un error cuandopackage.json
no se cumplen las dependencias de uno o más módulos especificados en el archivo. Verifique las advertencias cuidadosamente y actualice elpackage.json
archivo con las versiones correctas de las dependencias.Entonces corre
Esto instalará todas las dependencias requeridas correctamente.
fuente
En mi caso, todas las dependencias ya estaban allí. Actualice NPM en ese caso, ya que podría haberse bloqueado. Resolvió mi problema.
fuente
UNMET PEER DEPENDENCY typescript
cuando intentaba instalartslint
. una vez actualizado el npm, primero tuve que instalar typscript y luego instalar tslint.npm-install-peers funcionó para mí.
fuente
Una de las causas más posibles de este error podría ser que haya definido una versión anterior en su package.json. Para resolver este problema, cambie las versiones en package.json para que coincidan con las que npm se queja.
Una vez hecho esto, ejecuta npm install y ¡listo!
fuente
Esta respuesta no se aplica a todos los casos, pero si no puede resolver el error simplemente escribiendo
npm install
, estos pasos pueden ser útiles.Digamos que tienes este error.
Esto significa que instaló la versión 4.2.0 del paquete A, pero [email protected] necesita la versión 3.xx de pakageA. ( explicación de ^ )
Por lo tanto, puede resolver este error degradando el paquete A a 3.xx, pero generalmente no desea degradar el paquete.
La buena noticia es que, en algunos casos, packageB simplemente no se mantiene al día con el paquete A y el responsable del mantenimiento del paquete B está tratando de aumentar la dependencia entre pares del paquete A a 4.xx
En ese caso, puede verificar si hay una versión superior del paquete B que requiere la versión 4.2.0 del paquete A en npm o github.
Por ejemplo, Ir a la página de lanzamiento
A menudo puede encontrar cambios importantes sobre la dependencia como esta.
Si no encuentra nada en la página de lanzamiento, vaya a la página de emisión y busque el problema por palabra clave como
peer
. Puede encontrar información útil.En este punto tienes dos opciones.
1) Actualice a la versión que desee
2) Deje un error por el momento, espere hasta que se lance la versión estable.
Si elige la opción 1:
en muchos casos, la versión no tiene
latest
etiqueta, por lo tanto no es estable. Por lo tanto, debe verificar qué ha cambiado en esta actualización y asegurarse de que nada se rompa.Si elige la opción 2:
Si la actualización de pakageA de la versión 3 a 4 es trivial, o si el responsable de mantenimiento de pakageB aún no probó la versión 4 de pakageA pero dice que no debería ser un problema, puede considerar dejar el error.
En ambos casos, es mejor probar a fondo si no rompe nada.
Por último, si quieres saber por qué tienes que hacer algo de forma manual, este enlace explica bien.
fuente
Ok, luché por mucho tiempo tratando de resolver esto. Aquí está la opción nuclear , para cuando haya agotado todas las demás formas ...
Cuando haya terminado, y todavía funciona, importe su código real a este nuevo proyecto. Solucione cualquier error de compilación de la versión más nueva de causas angulares.
Eso fue lo que hizo por mí ... 1 hora de retrabajo frente a 6 horas de tratar de descubrir qué estaba mal ... desearía haberlo hecho de esta manera para comenzar ...
fuente
La respuesta dada no siempre funcionará. Si no soluciona su problema. Asegúrese de que también está utilizando el símbolo correcto en su
package.json
. Esto es muy importante para solucionar ese dolor de cabeza. Por ejemplo:Entonces mi mecanografiado debe estar entre 2.4.2 y 2.6 ¿verdad?
Así que cambié mi biblioteca de mecanografía de usar
"typescript": "^2.7"
a usar"typescript": "^2.5"
. Parece correcto?Incorrecto.
Los
^
medios que están de acuerdo con la NGP utilizando"typescript": "2.5"
o"2.6"
o"2.7"
etc ...Si quiere saber qué significa
^
y~
qué significa ver: ¿Cuál es la diferencia entre tilde (~) y caret (^) en package.json?También debe asegurarse de que el paquete existe. Tal vez no hay que
"typescript": "2.5.9"
buscar los números de paquete. Para estar realmente seguro, simplemente elimine el~
o el^
si no desea leer lo que significan.fuente
library-one
) usa, por ejemplo, un par depackage@<2.6
y la otra (library-two
) un par depackage@>2.7
? Entonces, ¿tendré que lidiar con dos versiones depackage
mi base de código? ¿Cómo sabré que cuando lo usolibrary-one
tengo que usarlo[email protected]
mientras tanto cuando lo usolibrary-two
tengo que usarlo[email protected]
?Hoy disponible Angular 2 rc.7 , y tuve un problema similar con la
[email protected]
DEMANDA DE MIEMBRO INMEDIATA.Si, como yo, simplemente reemplazó
@angular/...rc.6
a@angular/...rc.7
- no es suficiente. Porque, por ejemplo,@angular/router
no tienerc.6
versión.En este caso, revise mejor package.json en Inicio rápido
fuente
puede resolver instalando las dependencias UNMET a nivel mundial.
ejemplo: npm install -g @ angular / common @ 4.4.6
instalar cada uno por uno. Me ha funcionado.
fuente