angularjs - hammerjs - install angular/cdk
¿Cómo soluciono la advertencia de npm UNMET PEER DEPENDENCY? (10)
En mi caso, todas las dependencias ya estaban allí. Actualice NPM en ese caso, ya que podría haberse bloqueado. Solucionó mi problema.
npm install -g npm
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 material angular mdi con:
+-- [email protected]
+-- UNMET PEER DEPENDENCY angular-animate@^1.5.0
+-- UNMET PEER DEPENDENCY angular-aria@^1.5.0
+-- [email protected]
+-- UNMET PEER DEPENDENCY angular-messages@^1.5.0 `-- [email protected]
npm WARN enoent ENOENT: no such file or directory, open
''C:/Users/xxxxx/Desktop/ngClassifieds/package.json''
npm WARN [email protected] requires a peer of
angular-animate@^1.5.0 but none was installed.
npm WARN [email protected] requires a peer of angular-aria@^1.5.0
but none was installed.
npm WARN [email protected] requires a peer of
angular-messages@^1.5.0 but none was installed.
¿Cómo resuelvo esto para instalar AngularJS Material y MDI?
Esta respuesta no se aplica a todos los casos, pero si no puede resolver el error simplemente escribiendo
npm install
, estos pasos pueden ser
npm install
.
Digamos que tienes este error.
UNMET PEER DEPENDENCY [email protected]
npm WARN [email protected] requires a peer of packageA@^3.1.0 but none was installed.
Esto significa que instaló la versión 4.2.0 del paquete A, pero [email protected] necesita la versión 3.xx del paquete A. ( 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 packageA y el mantenedor de packageB está tratando de aumentar la dependencia entre pares de packageA a 4.xx
En ese caso, puede verificar si hay una versión superior del paquete B que requiera 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 dependencia como esta.
packageB v4.0.0-beta.0
BREAKING CHANGE
package: requires packageA >= v4.0.0
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ón1:
En muchos casos, la versión no tiene la
latest
tag
lo que 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ón2:
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 ha probado 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 tal cosa manualmente, este enlace explica bien.
Hoy disponible
Angular 2 rc.7
, y tuve un problema similar con
[email protected]
DEMANDA
[email protected]
LA DEPENDENCIA
[email protected]
MIEMBROS.
Si usted, como yo, simplemente reemplazó
@angular/...rc.6
a
@angular/...rc.7
, no es suficiente.
Porque, por ejemplo,
@angular/router
no tiene una versión
rc.6
.
En este caso, revise mejor package.json en Inicio rápido
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:
warning " > @angular/[email protected]" has incorrect peer dependency "typescript@>=2.4.2 <2.7".
warning " > [email protected]" has incorrect peer dependency "typescript@>=2.4.2 <2.6".
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.
El
^
significa que está de acuerdo con npm usando
"typescript": "2.5"
o
"2.6"
o
"2.7"
etc.
Si quiere saber qué significa
^
y
~
, vea:
¿Cuál es la diferencia entre tilde (~) y caret (^) en package.json?
También debe asegurarse de que el paquete existe.
Quizás no haya un
"typescript": "2.5.9"
busque los números de paquete.
Para estar realmente seguro, simplemente elimine
~
o
^
si no desea leer lo que significan.
Ok, luché durante mucho tiempo tratando de resolver esto. Aquí está la opción nuclear , para cuando hayas agotado todas las demás formas ...
- Crea una nueva carpeta en tu PC.
- Descargue una nueva instalación de angular: utilicé esta guía: https://coursetro.com/posts/code/55/How-to-Install-an-Angular-4-App
- Ejecútalo, asegúrate de que funcione
- Luego instale sus dependencias una por una desde su archivo package.json
- Ejecútelo después de instalar cada uno
Cuando haya terminado, y aún funciona, importe su código real a este nuevo proyecto. Arregle 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 ...
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!
npm ya no instala las dependencias de pares, por lo que debe instalarlas manualmente, simplemente realice una
npm install
en los departamentos necesarios y luego intente instalar la principal nuevamente.
Responder al comentario:
está justo en ese mensaje, dice qué deps te estás perdiendo
UNMET PEER DEPENDENCY angular-animate@^1.5.0 +--
UNMET PEER DEPENDENCY angular-aria@^1.5.0 +-- [email protected] +
UNMET PEER DEPENDENCY angular-messages@^1.5.0 `-- [email protected]`
Por lo tanto, necesita
npm install angular angular-animate angular-aria angular-material angular-messages mdi
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.
npm-install-peers funcionó para mí.
npm install -g npm-install-peers
UNMET PEER DEPENDENCY
error de
UNMET PEER DEPENDENCY
cuando no se cumplen las dependencias de uno o más módulos especificados en el archivo
package.json
.
Verifique las advertencias cuidadosamente y actualice el archivo
package.json
con las versiones correctas de las dependencias.
Entonces corre
rm -rf node_modules/
npm cache clean
npm install
Esto instalará todas las dependencias requeridas correctamente.