Estou no Windows 10, com Nó 5.6.0 e npm 3.6.0. Estou tentando instalar o material angular e o mdi na minha pasta de trabalho. O npm instala erros mdi de material angular com:
+-- 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.
Como resolvo isso para instalar o AngularJS Material e o MDI?
Respostas:
O npm não instala mais dependências entre pares, portanto, você precisa instalá-las manualmente, basta fazer um
npm install
nos deps necessários e tentar instalar o principal novamente.Responder para comentar:
está bem nessa mensagem, diz quais deps você está perdendo
Então você precisa
npm install angular angular-animate angular-aria angular-material angular-messages mdi
fonte
package.json
?--save
npm interruptor irá atualizar seu package.json para você (ou--save-dev
se o pacote é uma dependência de desenvolvimento)UNMET PEER DEPENDENCY
erro é lançado quando as dependências de um ou mais módulos especificados nopackage.json
arquivo não são atendidas. Verifique os avisos com cuidado e atualize opackage.json
arquivo com versões corretas das dependências.Então corra
Isso instalará todas as dependências necessárias corretamente.
fonte
No meu caso, todas as dependências já estavam lá. Atualize o NPM nesse caso, pois pode ter sido travado. Isso resolveu meu problema.
fonte
UNMET PEER DEPENDENCY typescript
ao tentar instalartslint
. depois de atualizar o npm, primeiro foi necessário instalar o typscript e depois instalar o tslint.O npm-install-peers funcionou para mim.
fonte
Uma das causas mais possíveis desse erro pode ser que você definiu uma versão mais antiga no seu package.json. Para resolver esse problema, altere as versões no package.json para corresponder às que o npm está reclamando.
Uma vez feito, execute o npm install e voila !!.
fonte
Esta resposta não se aplica a todos os casos, mas se você não conseguir solucionar o erro simplesmente digitando
npm install
, essas etapas podem ajudar.Digamos que você tenha esse erro.
Isso significa que você instalou a versão 4.2.0 do pacote A, mas o pacote [email protected] precisa da versão 3.xx do pakageA. ( explicação de ^ )
Portanto, você pode resolver esse erro fazendo o downgrade do pacote A para 3.xx, mas geralmente não deseja fazer o downgrade do pacote.
A boa notícia é que, em alguns casos, o packageB não está acompanhando o packageA e o mantenedor do packageB está tentando aumentar a dependência de pares do packageA para 4.xx.
Nesse caso, você pode verificar se há uma versão superior do packageB que requer a versão 4.2.0 do pacoteA no npm ou no github.
Por exemplo, vá para a página de lançamento
Muitas vezes, você pode encontrar mudanças significativas sobre dependência como essa.
Se você não encontrar nada na página de lançamento, vá para a página de emissão e pesquise por palavra-chave como
peer
. Você pode encontrar informações úteis.Neste ponto, você tem duas opções.
1) Atualize para a versão desejada
2) Deixe um erro por enquanto, aguarde até que a versão estável seja lançada.
Se você escolher a opção 1:
em muitos casos, a versão não possui
latest
tag, portanto, não é estável. Portanto, você deve verificar o que mudou nesta atualização e garantir que nada ocorra.Se você escolher a opção 2:
se a atualização do pakageA da versão 3 para a 4 for trivial, ou se o mantenedor do pakageB ainda não testou a versão 4 do pakageA, mas diz que não deve ser problema, considere deixar o erro.
Nos dois casos, é melhor testar minuciosamente se não quebra nada.
Por fim, se você quer saber por que precisa fazer isso manualmente, este link explica bem.
fonte
Ok, então eu lutei por um longo tempo tentando descobrir isso. Aqui está a opção nuclear , para quando você tiver esgotado todas as outras formas.
Quando terminar, e ainda funcionar, importe seu código real para esse novo projeto. Corrija os erros de compilação da versão mais recente das causas angulares.
Foi o que fez por mim .. 1 hora de retrabalho vs 6 horas tentando descobrir o que estava errado .. gostaria de ter feito dessa maneira para começar ..
fonte
A resposta dada nem sempre funciona. Se isso não resolver o seu problema. Verifique se você também está usando o símbolo correto no seu
package.json
. Isso é muito importante para corrigir essa dor de cabeça. Por exemplo:Então, meu texto datilografado precisa estar entre 2.4.2 e 2.6, certo?
Então, mudei minha biblioteca de tipos de texto de usar
"typescript": "^2.7"
para usar"typescript": "^2.5"
. Parece correto?Errado.
O
^
meio que você concorda com o npm usando"typescript": "2.5"
or"2.6"
ou"2.7"
etc ...Se você quiser saber o que o
^
e~
-lo ver média: Qual é a diferença entre o til (~) e acento circunflexo (^) em package.json?Você também precisa se certificar de que o pacote existe. Talvez não seja possível
"typescript": "2.5.9"
consultar os números dos pacotes. Para ser realmente seguro, basta remover o~
ou o^
se você não quiser ler o que eles significam.fonte
library-one
) usa, por exemplo, um par depackage@<2.6
e a outra (library-two
) um par depackage@>2.7
? Então, acabarei tendo que lidar com duas versões dapackage
minha base de código? Como vou saber que, quando eu usolibrary-one
, tenho que usá-lo[email protected]
enquanto isso, quando eu usolibrary-two
, tenho que usá-lo[email protected]
?Atualmente disponível no Angular 2 rc.7 , e eu tive um problema semelhante com a
[email protected]
UNMET PEER DEPENDENCY.Se você, como eu, simplesmente substituiu
@angular/...rc.6
a@angular/...rc.7
- não é suficiente. Porque, por exemplo,@angular/router
não temrc.6
versão.Nesse caso, revise melhor package.json em Início rápido
fonte
você pode resolver instalando as dependências UNMET globalmente.
exemplo: npm install -g @ angular / common @ 4.4.6
instale cada um por um. funcionou para mim.
fonte