Как решить npm неудовлетворенную одноранговую зависимость?

Я нахожусь в Windows 10, версии узла 5.6.0 и npm версии 3.6.0. Попытка установить angular-material и mdi в мою рабочую папку. npm установить угловой материал mdi дает мне следующие сообщения об ошибках:

+-- 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 Зависимость угловая-сообщения@^1.5.0 ' -- mdi@1.4.57

npm WARN enoent ENOENT: нет такого файла или каталога, откройте 'C:UsersxxxxxDesktopngClassifiedspackage.формат JSON'

npm предупреждает angular-material@1.0.6 требуется одноранговый angular-animate@^1.5.0, но никто не был установлен.

npm предупреждает angular-material@1.0.6 требуется одноранговый узел angular-aria@^1.5.0 но никто не был установлен.

npm предупреждает angular-material@1.0.6 требуется одноранговый angular-messages@^1.5.0, но не был установлен.

Как мне разрешить это, чтобы получить угловой материал и установить mdi?

9 ответов


npm больше не устанавливает одноранговые зависимости, поэтому вам нужно установить их вручную, просто сделайте npm install на необходимых deps, а затем попробуйте установить основной еще раз.


ответ на комментарий:

это прямо в этом сообщении, он говорит, какие deps вы пропускаете

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 install angular angular-animate angular-aria angular-material angular-messages mdi


UNMET PEER DEPENDENCY ошибка при зависимости одного или нескольких модулей, указанных в package.json файл не выполняется. Внимательно проверьте предупреждения и обновите package.json файл с правильными версиями зависимостей.

выполнить
rm -rf node_modules/
npm cache clean
npm install

Это позволит правильно установить все необходимые зависимости.


в моем случае все зависимости уже были там. Пожалуйста, обновите NPM в этом случае, как это могло быть разбито. Это решило мою проблему. npm install-g npm


npm-install-peers работал для меня.

npm install -g npm-install-peers

одной из наиболее возможных причин этой ошибки может быть то, что вы определили более старую версию в своем пакете.формат JSON. Чтобы решить эту проблему, измените версии в пакете.json, чтобы соответствовать этим npm жалуется.

после этого запустите npm install и вуаля!!.


хорошо, поэтому я долго боролся, пытаясь понять это. Вот это ядерная, когда вы исчерпали все другие способы..

  • создайте новую папку на своем ПК.
  • загрузите совершенно новую установку angular - я использовал это руководство:https://coursetro.com/posts/code/55/How-to-Install-an-Angular-4-App
  • запустить его, убедитесь, что он работает
  • затем установите зависимостям по одному из пакет.файл json
  • запустите его после установки каждого из них

когда вы закончите, и он все еще работает, импортировать ваш фактический код в новый проект. Исправьте любые ошибки компиляции в новой версии angular causes.

вот что сделало это для меня.. 1 час переделки против 6 часов попыток выяснить wtf был неправильным.. хотел бы я начать с этого..


скачать угловой 2 rc.7, и у меня была похожая проблема с rxjs@5.0.0-beta.12 НЕУДОВЛЕТВОРЕННАЯ ОДНОРАНГОВАЯ ЗАВИСИМОСТЬ.

если вы, как и я, просто заменить @angular/...rc.6 to @angular/...rc.7 - этого недостаточно. Потому что, например, @angular/router нет rc.6 версия.

в этом случае лучше комментарий пакета.в JSON на Быстрый старт


данный ответ не всегда будет работать. Если это не исправит вашу проблему. Убедитесь, что вы также используете правильный символ в своем package.json. Это очень важно, чтобы устранить головную боль. Например:

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".

Итак, мой текст должен быть между 2.4.2 и 2.6 правильно?

поэтому я изменил свою библиотеку typescript с помощью "typescript": "^2.7" С использованием "typescript": "^2.5". Кажется правильным?

неправильно.

на ^ означает, что вы в порядке с npm используя "typescript": "2.5" или "2.6" или "2.7" etc...

если вы хотите узнать, что ^ и ~ Значит смотри: в чем разница между Тильдой(~) и кареткой(^) в упаковке.в JSON?

также вы должны убедиться, что пакет существует. Может быть, нет "typescript": "2.5.9" посмотрите номера пакетов. Чтобы быть действительно безопасным, просто удалите ~ или ^ если вы не хотите читать, что они означают.


вы можете решить, установив неудовлетворенные зависимости глобально.

пример: установка npm-g @angular/common@4.4.6

установите каждый по одному. это сработало для меня.