Как решить 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
установите каждый по одному. это сработало для меня.