Назад | Перейти на главную страницу

Что сообщает сообщение об ошибке npm Пакет grunt не удовлетворяет peerDependencies… его братьев и сестер?

На немного устаревшей платформе npm / node я получаю эту ошибку при попытке установить grunt.

npm ERR! peerinvalid The package grunt does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer grunt-bake@0.2.1 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-contrib-copy@0.4.1 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-contrib-clean@0.5.0 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-contrib-sass@0.8.1 wants grunt@>=0.4.0
npm ERR! peerinvalid Peer grunt-http-server@1.1.0 wants grunt@~0.4.0
npm ERR! peerinvalid Peer grunt-contrib-watch@0.6.1 wants grunt@~0.4.0

npm ERR! System Linux 4.9.25
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "grunt"
npm ERR! cwd /some_workpath/workspace/1.1_build/src/main/grunt
npm ERR! node -v v0.10.21
npm ERR! npm -v 1.3.11
npm ERR! code EPEERINVALID

Проблема: я понятия не имею, что npm пытается мне сказать.

Что происходит

В соответствии с Эта статья в блоге nodejs, EPEERINVALID означает, что у определенной зависимости - скажем, grunt - есть плагины. Эти плагины также зависят от grunt, но версия grunt, которую вы пытаетесь установить, несовместима с версией grunt, которую хотят плагины. Обычно, если вы устанавливаете через package.json, это не проблема, но если вы используете npm install grunt в том же каталоге, где установлены эти плагины, они не будут работать, потому что вы пытаетесь установить новую версию grunt, которая может не поддерживаться.

Решения

На данный момент у вас есть несколько решений, которые вы можете использовать:

Установите версию в package.json

Бегать npm install в том же каталоге, что и проект, у которого есть эти зависимости.

Установите конкретную совместимую версию grunt

Бегать npm install grunt@0.4.0 вместо того npm install grunt

Обновите (или удалите) конфликтующие плагины

Обратите внимание на пакеты в выводе команды, а затем обновите их, используя npm update или npm uninstall