Como pode resolver npm UNMET PEER DEPENDENCY?

Eu estou no Windows 10, Node versão 5.6.0 e npm versão 3.6.0. Tentando instalar o material angular e mdi na minha pasta de trabalho. npm install angular-material mdi me dá as seguintes mensagens de erro:

+ – angular@1.5.0

+ – UNMET DEPENDÊNCIA DE PEER angular-animate@^1.5.0

+ – UNMET DEPENDÊNCIA DO PEER angular-aria@^1.5.0

+ – angular-material@1.0.6

+ – UNMET DEPENDÊNCIA DE PEER angular-messages@^1.5.0 `- mdi@1.4.57

npm WARN enoent ENOENT: nenhum arquivo ou diretório, abra ‘C: \ Users \ xxxxx \ Desktop \ ngClassifieds \ package.json’

npm WARN angular-material@1.0.6 requer um peer de angular-animate@^1.5.0 mas nenhum foi instalado.

npm WARN angular-material@1.0.6 requer um par de angular-aria@^1.5.0 mas nenhum foi instalado.

npm WARN angular-material@1.0.6 requer um par de mensagens angulares@^1.5.0, mas nenhuma foi instalada.

Como resolvo isso para obter material angular e mdi instalado?

    O npm não instala mais as dependencies de peer, portanto, é necessário instalá-las manualmente, basta fazer uma npm install nas npm install necessárias e, em seguida, tentar instalar a principal novamente.


    Responder ao comentário:

    está bem nessa mensagem, diz quais deps você está perdendo

     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` 

    Então você precisa para npm install angular angular-animate angular-aria angular-material angular-messages mdi

    UNMET PEER DEPENDENCY erro UNMET PEER DEPENDENCY é UNMET PEER DEPENDENCY quando as dependencies de um ou mais módulos especificados no arquivo package.json não são atendidas. Verifique os avisos cuidadosamente e atualize o arquivo package.json com as versões corretas das dependencies.

    Então corra

     rm -rf node_modules/ npm cache clean npm install 

    Isso instalará todas as dependencies necessárias corretamente.

    No meu caso, todas as dependencies já estavam lá. Por favor, atualize o NPM nesse caso, pois ele pode ter sofrido um erro. Isso resolveu meu problema. npm install -g npm

    npm-install-peers funcionou para mim.

     npm install -g npm-install-peers 

    Uma das causas mais possíveis desse erro pode ser que você tenha definido uma versão mais antiga em seu pacote.json. Para resolver esse problema, altere as versões no pacote.json para corresponder àquelas que o npm está reclamando.

    Uma vez feito, execute npm install e voila !!

    Ok, então eu lutei por um longo tempo tentando descobrir isso. Aqui está a opção nuclear , para quando você esgotou todos os outros caminhos ..

    Quando você terminar e ainda funcionar, importe seu código real para este novo projeto. Corrija qualquer erro de compilation na versão mais recente de causas angulares.

    Isso é o que fez para mim .. 1 hora de retrabalho vs 6 horas de tentar descobrir wtf estava errado .. desejo que eu fiz isso desta maneira para começar ..

    Hoje disponível Angular 2 rc.7 , e eu tive um problema semelhante com rxjs@5.0.0-beta.12 UNMET PEER DEPENDENCY.

    Se você, como eu, simplesmente substituiu @angular/...rc.6 para @angular/...rc.7 – não é suficiente. Porque, por exemplo, @angular/router não tem versão rc.6 .

    Neste caso, melhor revisão package.json em Quick start

    A resposta dada não funcionará sempre. Se isso não resolver seu problema. Certifique-se de que você também esteja usando o símbolo correto em seu package.json . Isso é muito importante para consertar essa dor de cabeça. Por exemplo:

     warning " > @angular/compiler-cli@5.2.7" has incorrect peer dependency "typescript@>=2.4.2 <2.7". warning " > tsickle@0.25.6" has incorrect peer dependency "typescript@>=2.4.2 <2.6". 

    Então meu texto typescript precisa estar entre 2.4.2 e 2.6, certo?

    Então mudei minha biblioteca de datilografia de usar "typescript": "^2.7" para usar "typescript": "^2.5" . Parece correto?

    Errado.

    O ^ significa que você está bem com npm usando "typescript": "2.5" ou "2.6" ou "2.7" etc ...

    Se você quer aprender o que o ^ e ~ significa ver: Qual é a diferença entre til (~) e caret (^) em package.json?

    Além disso, você precisa ter certeza de que o pacote existe. Talvez não haja "typescript": "2.5.9" procure os números do pacote. Para ser realmente seguro apenas remova o ~ ou o ^ se você não quiser ler o que eles significam.

    você pode resolver instalando as dependencies da UNMET globalmente.

    exemplo: npm install -g @ angular / common @ 4.4.6

    instale cada um por um. isso funcionou para mim.