在全局安装npm包时出现了“npm ERR!code EPEERINVALID”的错误提示。

19

每当我安装任何全局软件包时,都会出现以下错误。

错误:在npm软件包全局安装上

例如:

robins@robins-H61MLV3:~$ sudo npm install -g jshint

/usr/bin/jshint -> /usr/lib/node_modules/jshint/bin/jshint
npm ERR! Linux 3.19.0-25-generic
npm ERR! argv "node" "/usr/local/bin/npm" "install" "-g" "jshint"
npm ERR! node v0.10.25
npm ERR! npm  v2.13.2
npm ERR! code EPEERINVALID

npm ERR! peerinvalid The package karma@0.10.10 does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer grunt-karma@0.6.2 wants karma@~0.10.0
npm ERR! peerinvalid Peer karma-html2js-preprocessor@0.1.0 wants karma@>=0.9
npm ERR! peerinvalid Peer karma-mocha@0.1.10 wants karma@>=0.12.8
npm ERR! peerinvalid Peer karma-phantomjs-launcher@0.1.4 wants karma@>=0.9
npm ERR! peerinvalid Peer karma-script-launcher@0.1.0 wants karma@>=0.9
npm ERR! peerinvalid Peer karma-jasmine@0.1.6 wants karma@>=0.9
npm ERR! peerinvalid Peer karma-requirejs@0.2.2 wants karma@>=0.9
npm ERR! peerinvalid Peer karma-coffee-preprocessor@0.1.3 wants karma@>=0.9

我到目前为止尝试过什么

我尝试更新全局karma和相关模块,但没有起作用。我还尝试卸载karma模块,但问题仍然存在。

sudo npm uninstall -g  karma grunt-karma karma-html2js-preprocessor  karma-mocha karma-phantomjs-launcher karma-script-launcher  karma-jasmine  karma-requirejs karma-coffee-preprocessor

npm ERR!peerinvalid Peer karma-mocha@0.1.10 要求 karma@>=0.12.8 你的Package.json文件中是否包含Karma版本号>=0.12.8?
- Sèb
4个回答

26

看起来 karma 依赖于其他模块,这些模块是可用的(全局),但是它们过时了。你需要使用 npm update -g 命令更新全局包。

npm update -g

基本上,“npm update -g”只会更新所有全局包。这是因为没有提供包名称,且由于“-g”开关而是“全局”的。

我的建议是首先更新您的所有全局包,然后再尝试重新安装jshint。

sudo npm install -g jshint

2
尝试更新npm,但在更新npm时仍显示相同的错误。 - Robins Gupta

10

使用命令更新npm

npm install npm -g

然后使用以下方式清除缓存:

npm cache clean

根据您的需求安装软件包。 希望这能帮到大家。


0

这不是针对NPM的修复,但在我的情况下(使用Ubuntu 16.04),解决此问题的方法是安装yarn并运行“yarn install”而不是“npm install”。


0

我通过将项目命名为单个单词而不是之前使用的短语来解决了问题。


你是什么意思? - Alexandros Kourtis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接