我的 Yeoman 发电机有问题。如果我运行“npm install [generator-name] -g”,它们安装得很好。然而,当我尝试运行“yo [generator-name] yeoman 似乎找不到生成器。如果我只是运行“yo”,它也不会列在我的其他生成器中。我尝试了一堆生成器,结果总是一样的。
经过一番调查后,我发现下载的生成器位于
/usr/local/lib/node_modules/
但是我的其他生成器放置在
/usr/local/lib/share/npm/lib/node_modules/
这是它在我的机器上的外观图像 /image/InQcZ.png ,我正在运行 OSX,以防万一。看来我有些不对劲 - 但我无法弄清楚。
不确定这是否有帮助,但在 $PATH 返回时,brew doctor 和 $NODE_PATH 不返回任何内容:
-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
更新
我尝试了小埃迪·蒙奇(Eddie Monge Jr)的建议,现在我的角度生成器工作正常。然而,当我安装另一个生成器(chrome-extension)时,yeoman 坚持认为它没有安装/找到。
当我运行 ls $(npm config get prefix)/lib/node_modules 时,我得到:
bower generator-mocha
generator-angular grunt-cli
generator-chrome-extension npm
generator-karma yo
并且npm list -g返回这个(我删掉了很多通用的东西)
/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
对我来说奇怪的是,如果我运行 yo --help 我会得到一个奇怪的生成器列表
[?] 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!
最佳答案
我尝试在 Ubuntu precision32 vagrant 虚拟机上安装 Yeoman。我遇到了同样的问题:虽然在安装这些生成器的过程中没有出现错误,但 Yeoman 没有找到我安装的生成器。文件已就位,权限似乎也正常。
上述解决方案对我不起作用。
我跑了
yo doctor
看看出了什么问题,结果发现问题如下:
[Yeoman Doctor] Uh oh, I found potential errors on your machine
---------------
[Error] NPM root value is not in your NODE_PATH
[info]
NODE_PATH = /usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript
NPM root = /home/vagrant/npm/lib/node_modules
[Fix] Append the NPM root value to your NODE_PATH variable
Add this line to your .bashrc
export NODE_PATH=$NODE_PATH:/home/vagrant/npm/lib/node_modules
Or run this command
echo "export NODE_PATH=$NODE_PATH:/home/vagrant/npm/lib/node_modules" >> ~/.bashrc && source ~/.bashrc
Yeoman Doctor 建议的修复方法如宣传的那样有效。
关于npm - 为什么我的 Yeoman 发电机安装在错误的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18081125/