在 npm 包全局安装上获取 "npm ERR! code EPEERINVALID"

Getting "npm ERR! code EPEERINVALID" on npm packages global install

每当我安装任何全局包时,我都会收到此错误。

Error:- on npm packages global install

例如:-

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

What I have tried so far

我试过更新全局 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

看起来 karma 对其他可用(全局)但较旧的模块有一些依赖性。 您需要使用 npm update -g

更新全局包
npm update -g

基本上"npm update -g" 只更新所有全局包。 "All" 因为没有提供包名并且 "global" 因为“-g”开关。

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

sudo npm install -g jshint

使用命令更新 npm

npm install npm -g

然后使用

清理缓存
npm cache clean

然后根据您的要求安装软件包。 希望对大家有帮助。

我解决了这个问题,只用一个词而不是我以前用过的短语来命名我的项目。

这不是 NPM 的修复,但在我的案例中(使用 Ubuntu 16.04)解决这个问题的方法是安装 yarn 和 运行 "yarn install" 而不是 "npm install".