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


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

+-- angular@1.5.0

+-- UNMET PEER DEPENDENCY angular-animate@^1.5.0

+-- неудовлетворенные коллегиального зависимость угловой-Ария@^1.5.0

+-- angular-material@1.0.6

+-- UNMET PEER Зависимость угловая-сообщения@^1.5.0 ' -- mdi@1.4.57

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

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

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

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

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

9 148

9 ответов:

npm больше не устанавливает одноранговые зависимости, поэтому вам нужно установить их вручную, просто сделайте npm install на необходимых 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 install и вуаля!!.

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

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

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

вот что сделал это для меня.. 1 час паяльная против 6 часов, пытаясь выяснить, черт возьми, неправильно.. жаль, что я сделал это таким образом, чтобы начать..

скачать угловой 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": "^2.7" С использованием "typescript": "^2.5". Кажется правильным?

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

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

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

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

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

пример: npm install-g @angular/common@4.4.6

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