2015-02-26 2 views
4

Я пытаюсь создать свою черновую сборку, но застрял в следующее сообщение об ошибкеПакет хрюкать не удовлетворяет требованиям peerDependencies своих братьев и сестер

npm WARN package.json Dependency 'grunt' exists in both dependencies and devDependencies, using '[email protected]~0.4.2' from dependencies 
npm ERR! Darwin 13.4.0 
npm ERR! argv "node" "/usr/local/bin/npm" "install" 
npm ERR! node v0.12.0 
npm ERR! npm v2.5.1 
npm ERR! code EPEERINVALID 

npm ERR! peerinvalid The package grunt does not satisfy its siblings' peerDependencies requirements! 
npm ERR! peerinvalid Peer [email protected] wants [email protected]~0.4.0 
npm ERR! peerinvalid Peer [email protected] wants [email protected]~0.4.0 
npm ERR! peerinvalid Peer [email protected] wants [email protected]~0.4.1 
npm ERR! peerinvalid Peer [email protected] wants [email protected]~0.4.0 
npm ERR! peerinvalid Peer [email protected] wants [email protected]~0.4.1 
npm ERR! peerinvalid Peer [email protected].0 wants [email protected]~0.4.5 
npm ERR! peerinvalid Peer [email protected] wants [email protected]>=0.4.0 
npm ERR! peerinvalid Peer [email protected] wants [email protected]~0.4 

Как here упоминалось, я удалил мой узел, НПМ и хрюкать и переустанавливать их, но все еще сталкиваются с такой же проблемой?

Любая идея?

Мои зависимости JSON являются:

"dependencies": { 
    "grunt": "~0.4.2", 
    "grunt-contrib-requirejs": "~0.4.1", 
    "grunt-config": "~0.1.4", 
    "grunt-string-replace": "~0.2.7", 
    "grunt-contrib-clean": "~0.5.0", 
    "grunt-contrib-cssmin": "~0.10.0" 
    }, 
    "devDependencies": { 
    "grunt": "0.4.2", 
    "grunt-cli": "0.1.13", 
    "grunt-contrib-jshint": ">0.8.0", 
    "grunt-contrib-uglify": ">0.3.2", 
    "load-grunt-tasks": ">=0.3.0", 
    "requirejs": ">=2.1.10", 
    "grunt-exec": "~0.4.5" 
    } 

То же самое работает нормально для моего коллеги.

ответ

3

У меня была подобная ошибка, как это сегодня, и установил ее путем модернизации НПМ:

npm install -g npm 

У меня была версия 2.14 и после модернизации он стал 3.8

+0

-g должно быть в конце или команда не работает –

+0

Также спасибо за ваш совет! –

+0

@ osiris355 приветствуется, пожалуйста, проверьте https://docs.npmjs.com/getting-started/installing-npm- пакеты в глобальном масштабе –

2

Вы дважды заявляли о грубой зависимости. Один для развития, а другой - нет. У вас также есть другое правило версий для обоих. Это и вызывает конфликт.

Вы должны удалить один из них. (Как правило, хрюкать является частью devdependencies)

зависимости

"grunt": "~0.4.2", 

devDependencies

"grunt": "0.4.2", 

Edit:

Я проверил это, это решает проблему:

"dependencies": { 
    "grunt-contrib-requirejs": "~0.4.1", 
    "grunt-config": "~0.1.4", 
    "grunt-string-replace": "~0.2.7", 
    "grunt-contrib-clean": "~0.5.0", 
    "grunt-contrib-cssmin": "~0.10.0" 
}, 
"devDependencies": { 
    "grunt": "~0.4.2", 
    "grunt-cli": "0.1.13", 
    "grunt-contrib-jshint": ">0.8.0", 
    "grunt-contrib-uglify": ">0.3.2", 
    "load-grunt-tasks": ">=0.3.0", 
    "requirejs": ">=2.1.10", 
    "grunt-exec": "~0.4.5" 
} 
+0

Я пробовал ваше решение, но оно не работает. Я получаю такую ​​же ошибку. Конфликт - это только предупреждение, а не ошибка. Думаю, проблема может быть чем-то другим. – Anshul

+0

Вы переустановили модули npm после него? – Amida

+0

После удаления зависимостей grunt? – Anshul

-1

Обновление все мои глобальные пакеты НПМ исправили проблему для меня:

npm update -g 
Смежные вопросы

 Смежные вопросы