I have a problem with Yeoman generators. They install just fine if I run "npm install [generator-name] -g". However when I try to run "yo [generator-name] yeoman can't seem to find the generator. Neither is it listed among my other generators if I just run "yo". I've tried a bunch of generators and the result is always the same.
After a bit of bit of investigation I found that the downloaded generator is placed in
/usr/local/lib/node_modules/
But my other generators are placed in
/usr/local/lib/share/npm/lib/node_modules/
Here is an image of how it looks on my machine http://i.imgur.com/DxWTYHb.png, I'm running OSX in case that matters. Looks like something is wrong to me - but I cannot figure it out.
Not sure if this helps, but brew doctor and $NODE_PATH return nothing while $PATH returns:
-bash:
/usr/local/share/npm/bin:
/Users/marcus/.rvm/gems/ruby-2.0.0-p247/bin:
/Users/marcus/.rvm/gems/ruby-2.0.0-p247@global/bin:
/Users/marcus/.rvm/rubies/ruby-2.0.0-p247/bin:
/Users/marcus/.rvm/bin:
/usr/bin:
/bin:
/usr/sbin:
/sbin:
/usr/local/bin:
/usr/local/git/bin: No such file or directory
UPDATE
I tried what Eddie Monge Jr suggested and now my angular generator works fine. However when I installed another generator (chrome-extension) yeoman insists that it's not installed/found.
When I run ls $(npm config get prefix)/lib/node_modules I get this:
bower generator-mocha
generator-angular grunt-cli
generator-chrome-extension npm
generator-karma yo
And npm list -g returns this (I cut out a lot of generic stuff)
/usr/local/lib
├─┬ bower@1.2.3
├─┬ generator-angular@0.4.0
│ └─┬ yeoman-generator@0.13.3
├─┬ generator-chrome-extension@0.2.3
│ └─┬ yeoman-generator@0.12.3
├─┬ generator-karma@0.5.0
│ └─┬ yeoman-generator@0.13.3
├─┬ generator-mocha@0.1.1
│ └─┬ yeoman-generator@0.10.5
├─┬ grunt-cli@0.1.9
├─┬ npm@1.3.5
└─┬ yo@1.0.0
The strange part for me is if I run yo --help I get a strange list of generators
[?] What would you like to do?
[ ] Run the Angular generator
[ ] Run the Foundation generator
[ ] Run the H5bp generator
[X] Run the Mocha generator
[ ] Run the Webapp generator
[ ] Run the Karma generator
[ ] Update your generators
[ ] Install a generator
[ ] Find some help
[ ] Get me out of here!
I hit this issue and I'm hoping it will help someone. I believe upgrading NPM caused this initial issue for me.
Was the location of a lot of my modules in the past. Since upgrading node at some point, the directory became
When I would run new installations such as:
I since I run
grunt
from the command line it wouldn't 'find' it (that's because it wasn't in my new node_modules dir). I set up this up in my .bash_profile:Now I am pointing to the new
node_modules
directory So all the new npm modules I install find the right location: /usr/local/share/npm/lib/node_modulesBut not
yo
I ran a
which yo
and my path wasThis binary was pointing to the OLD
node_modules
installation @My solution was to do this
The old reference to
yo
is gone for keeps, now I can doThis will add it to the new
node_modules
locationand now the new 'yo' references the proper node_modules installation base
then we can see yo is referenced from the proper spot
all future generators will be placed in the proper
node_modules
directory andyo
will be able to find them without a problem!I tried installing Yeoman on an Ubuntu precise32 vagrant vm. I ran into the same problem: Yeoman did not find the generators I installed, although there were no errors during the installation of these generators. Files were in place and permissions seemed alright.
The above solutions didn't work for me.
I ran
to see what was wrong, and as it turned out, the following was the problem:
The fix suggested by the Yeoman Doctor worked as advertised.
I uninstalled yeoman entirely, then re-installed it
This fixed my problem with missing angular generators.
Sounds like your npm may be out of whack. Check where things are installed: npm config get prefix Is that where you expected the packages to install? Is that where they are currently installed?
To list whats in there:
That will list out the globally installed npm packages.
Will list the currently installed things. Make sure yo and the generators are listed at the top level.
To remove the yo stuff and start over:
That should fix things.