Я на 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
+-- 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.
Как решить эту проблему, чтобы установить AngularJS Material и MDI?
Ответы:
npm больше не устанавливает одноранговые зависимости, поэтому вам нужно установить их вручную, просто выполните
npm install
необходимые операции и попробуйте установить основную версию снова.Ответить на комментарий:
это верно в том сообщении, в котором говорится, какие отделы вы пропустили
Так что вам нужно
npm install angular angular-animate angular-aria angular-material angular-messages mdi
источник
package.json
?--save
переключатель, npm обновит ваш package.json для вас (или--save-dev
если пакет зависит от разработки)UNMET PEER DEPENDENCY
выдается ошибка, когда зависимости одного или нескольких модулей, указанных вpackage.json
файле, не встречаются. Внимательно проверьте предупреждения и обновитеpackage.json
файл, указав правильные версии зависимостей.Тогда беги
Это установит все необходимые зависимости правильно.
источник
В моем случае все зависимости уже были. Пожалуйста, обновите NPM в этом случае, так как он мог быть разбит. Это решило мою проблему.
источник
UNMET PEER DEPENDENCY typescript
при попытке установитьtslint
. после обновления npm сначала нужно было установить typscript, а затем установить tslint.npm-install-peers работал для меня.
источник
Одной из наиболее вероятных причин этой ошибки может быть то, что вы определили более старую версию в вашем package.json. Чтобы решить эту проблему, измените версии в package.json, чтобы они соответствовали тем, на которые жалуется npm.
После этого запустите npm install и вуаля !!
источник
Этот ответ не распространяется на все случаи, но если вы не можете решить эту проблему, просто набрав
npm install
, эти шаги могут помочь.Допустим, вы получили эту ошибку.
Это означает, что вы установили версию 4.2.0 пакета A, но для packageB@3.3.0 требуется версия 3.xx пакета pakageA. ( объяснение ^ )
Таким образом, вы можете устранить эту ошибку, понизив пакет A до 3.xx, но обычно вы не хотите понижать пакет.
Хорошей новостью является то, что в некоторых случаях packageB просто не поспевает за packageA, и сопровождающий packageB изо всех сил старается поднять равноправную зависимость packageA до 4.xx.
В этом случае вы можете проверить, существует ли более высокая версия packageB, которая требуется версия 4.2.0 пакета A в npm или github.
Например, Перейти на страницу релиза
Часто вы можете найти серьезные изменения в зависимости, как это.
Если вы не нашли ничего на странице релиза, перейдите на страницу проблемы и выполните поиск по ключевому слову, например
peer
. Вы можете найти полезную информацию.На данный момент у вас есть два варианта.
1) Обновление до нужной версии.
2) Оставьте пока ошибку, дождитесь выпуска стабильной версии.
Если вы выберете вариант 1:
во многих случаях версия не имеет
latest
тега, поэтому не является стабильной. Поэтому вы должны проверить, что изменилось в этом обновлении, и убедиться, что ничего не сломается.Если вы выберете вариант 2:
Если обновление pakageA с версии 3 до 4 является тривиальным, или если сопровождающий pakageB еще не тестировал версию 4 pakageA, но говорит, что это не должно быть проблемой, вы можете оставить ошибку.
В обоих случаях лучше тщательно проверить, не сломано ли оно.
Наконец, если вы хотите знать, почему вы должны делать это вручную, эта ссылка хорошо объясняет.
источник
Данный ответ не всегда работает. Если это не решит вашу проблему. Убедитесь, что вы также используете правильный символ в вашем
package.json
. Это очень важно, чтобы исправить эту головную боль. Например:Так что моя машинопись должна быть между 2.4.2 и 2.6, верно?
Поэтому я изменил свою библиотеку машинописи с использования
"typescript": "^2.7"
на использование"typescript": "^2.5"
. Кажется правильным?Неправильно.
Это
^
означает, что вы в порядке с npm, используя"typescript": "2.5"
или"2.6"
или и"2.7"
т.д ...Если вы хотите узнать, что
^
и что~
это значит, посмотрите: В чем разница между тильдой (~) и кареткой (^) в package.json?Также вы должны убедиться, что пакет существует. Может быть, нет
"typescript": "2.5.9"
искать номера пакетов. Чтобы быть в безопасности, просто удалите~
или,^
если вы не хотите читать, что они значат.источник
library-one
) использует, например, одноранговый узел,package@<2.6
а другой (library-two
) одноранговый узелpackage@>2.7
? Тогда мне придется столкнуться с двумя версиямиpackage
в моей кодовой базе? Как я узнаю, что когда я использую,library-one
я должен использовать это сpackage@2.5.9
тем же временем, когда я использую,library-two
я должен использовать это сpackage@2.7.1
?import
уровне ES6 ?Итак, я долго боролся, пытаясь понять это. Вот ядерный вариант, когда вы исчерпали все остальные пути ..
Когда вы закончите, и это все еще работает, импортируйте ваш реальный код в этот новый проект. Исправьте любые ошибки компиляции новой версии угловых причин.
Вот что это сделало для меня ... 1 час переделок против 6 часов попыток выяснить, что WTF был неправильным ... Жаль, что я сделал это таким образом, чтобы начать ..
источник
Сегодня доступен Angular 2 rc.7 , и у меня была похожая проблема с
rxjs@5.0.0-beta.12
зависимостью от UNMET PEER.Если вас, как и меня, просто заменили
@angular/...rc.6
на@angular/...rc.7
- этого мало. Потому что, например,@angular/router
не имеетrc.6
версии.В этом случае лучше просмотрите package.json в разделе Быстрый старт
источник
Вы можете решить, установив зависимости UNMET глобально.
пример: npm install -g @ angular / common @ 4.4.6
установить каждый по одному. это сработало для меня.
источник