在一个有点过时的 npm/node 平台上,我尝试安装 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 想要告诉我什么。
答案1
怎么了
根据本文在 nodejs 博客上,EPEERINVALID
这意味着某个依赖项(比如说 grunt)有插件。这些插件也依赖于 grunt,但您尝试安装的 grunt 版本与插件所需的 grunt 版本不兼容。通常,如果您通过 package.json 安装,这不是问题,但如果您运行的目录与npm install grunt
安装这些插件的目录相同,它们将失败,因为您尝试安装可能不受支持的较新版本的 grunt。
解决方案
此时您可以使用一些解决方案:
安装版本package.json
npm install
在与具有这些依赖项的项目相同的目录中运行。
安装特定的、兼容的 grunt 版本
运行而不是npm install [email protected]
npm install grunt
更新(或删除)冲突的插件
观察命令输出中的包,然后使用以下命令更新它们npm update
或者npm uninstall