28

The same notorious error

npm ERR! peerinvalid The package generator-karma does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer generator-angular@0.7.1 wants generator-karma@~0.6.0
npm ERR! peerinvalid Peer generator-angular-ui-router@0.5.3 wants generator-karma@~0.5.0

npm ERR! System Darwin 12.5.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "generator-angular"
npm ERR! cwd /Users/dmitrizaitsev/Dropbox/Priv/APP/my-yo-project
npm ERR! node -v v0.10.24
npm ERR! npm -v 1.3.21
npm ERR! code EPEERINVALID

comes from installation various packages, e.g. for

npm update -g yo

The only found advice to uninstall generator-karma does not help - it re-installs back.

Any better explanation of why it happens and working solution?

Dmitri Zaitsev
  • 13,548
  • 11
  • 76
  • 110
  • 1
    Just making it clear, you did try `sudo npm update -g generator-karma` correct? You may also try looking at `/node_modules/generator-karma/package.json`, and view the version to see if it's above equal or above 0.6.0. – matth Jan 15 '14 at 16:53
  • 1
    Yes, I tried that too. I was able to get rid of that error by uninstalling `generator-angular-ui-router`, which seems to use older version of `generator-karma`. Kind of annoying there is no better way. – Dmitri Zaitsev Jan 15 '14 at 17:29

6 Answers6

47

Try running npm uninstall -g generator-karma

tmaximini
  • 8,403
  • 6
  • 47
  • 69
26

You need to update all of your globally installed NPM packages. Run this command from your console:

npm update -g

This command will update all the packages listed to the latest version (specified by the tag config).

It will also install missing packages.

When you specify the -g flag, this command will update globally installed packages. If no package name is specified, all packages in the specified location (global or local) will be updated.

Brad Richardson
  • 401
  • 1
  • 5
  • 6
  • Just running this fixed the problem for me – LifeOnLars Jun 11 '14 at 13:25
  • 2
    This command totally screwed npm for me. It came back with lot of error and now I have this : -bash: /usr/local/bin/npm: No such file or directory. Think twice before running this – 0x1gene May 11 '15 at 10:06
  • @0x1gene `npm` has destructive behavior of deleting itself sometimes upon failure. You can simply restore it by re-installing node. Annoying but works. – Dmitri Zaitsev May 28 '15 at 16:10
  • `Cannot find module '/Users/username/.npm-packages/lib/node_modules/npm/lib/build.js'` – f1lt3r Oct 30 '15 at 14:15
3

I had a similar issue and I did this in terminal:

rm -rf /usr/local/lib/node_modules/karma-*

and then updated the package.json:

  "devDependencies": {
    "karma": "0.12.0",
    ...
  }

then reinstall

sudo npm install karma

It worked for me

YHDEV
  • 477
  • 8
  • 22
2

It fixed it by running this command, which installs the latest version from GitHub:

$ npm install -g git://github.com/iamblue/generator-angular-ui-router.git
beeman
  • 574
  • 5
  • 9
1

i was able to install simply by:

npm install karma-generator

Guess it installs a later version of Karma. I was able to successfully install generator-angular after that. Was able to get coffeescript going as well after doing the above.

Dmitri Zaitsev
  • 13,548
  • 11
  • 76
  • 110
Tim Poppe
  • 11
  • 1
0

I had permissions issues with some of the directories under /usr/local/lib/node_modules. I must have installed some packages with sudo but most under my own user id. I solved this issue on a Mac with these commands:

sudo chown -R `whoami` /usr/local/lib/node_modules/
sudo chgrp -R admin /usr/local/lib/node_modules/
SeattleStephens
  • 587
  • 8
  • 20