在一个有点过时的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 grunt到npm install grunt这些插件的目录下,它们将会失败,因为你正在尝试安装一个更新版本的grunt这可能不被支持。
在这一点上,你可以使用几个解决scheme:
package.json安装版本 在具有这些依赖关系的项目所在的目录中运行npm install 。
运行npm install [email protected]而不是npm install grunt
观察命令输出中的包,然后使用npm update或npm uninstall更新它们