npm的错误信息包grunt不能满足兄弟的peerDependencies …告诉?

在一个有点过时的npm / node-platform上,我在尝试安装grunt时遇到了这个错误。

npm ERR! peerinvalid The package grunt does not satisfy its siblings' peerDependencies requirements! npm ERR! peerinvalid Peer [email protected] wants grunt@~0.4.0 npm ERR! peerinvalid Peer [email protected] wants grunt@~0.4.0 npm ERR! peerinvalid Peer [email protected] wants grunt@~0.4.0 npm ERR! peerinvalid Peer [email protected] wants grunt@>=0.4.0 npm ERR! peerinvalid Peer [email protected] wants grunt@~0.4.0 npm ERR! peerinvalid Peer [email protected] 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版本不兼容。 通常如果你通过package.json进行安装,这不是一个问题,但是如果你正在运行npm install gruntnpm install grunt这些插件的目录下,它们将会失败,因为你正在尝试安装一个更新版本的grunt这可能不被支持。

解决scheme

在这一点上,你可以使用几个解决scheme:

package.json安装版本

在具有这些依赖关系的项目所在的目录中运行npm install

安装一个特定的兼容版本的grunt

运行npm install [email protected]而不是npm install grunt

更新(或删除)冲突的插件

观察命令输出中的包,然后使用npm updatenpm uninstall更新它们