哟不知道已安装的发电机

时间:2014-01-01 17:45:23

标签: npm yeoman

我刚安装了Yeoman和一些发电机。但是,由于/usr/lib文件夹受到保护,我选择更改NPM安装其包的位置的前缀。

现在,所有内容都安装在~/.node下。我还更改了$PATH并添加了~/.node/bin。但是,当我执行yo <name of generator>时,我得到以下内容:

Error node 

You don't seem to have a generator with the name node installed.
You can see available generators with npm search yeoman-generator and then install them with npm install [name].
To see the 0 registered generators run yo with the `--help` option.

正如你可以在这里看到的,它告诉我有0个已注册的生成器,但我正确安装它们(它完成没有错误)。我能够找到已安装的生成器,例如~/.node/lib/node_modules/generator-node存在,当我执行以下命令时:

npm list -g

我可以找到我安装的生成器(所以我认为它不是npm的问题)。

所以我认为Yeoman(或更确切地说是Yo)并不知道自定义文件夹中安装了生成器,但我还没有找到任何方法来配置它。

2 个答案:

答案 0 :(得分:8)

除了将其添加到路径之外,还应设置NODE_PATH环境变量。 yeoman/generator code将首先显示在那里:

// We tried using NPM to get the global modules path, but it haven't work out
// because of bugs in the parseable implementation of `ls` command and mostly
// performance issues. So, we go with our best bet for now.
if (process.env.NODE_PATH) {
  _.compact(process.env.NODE_PATH.split(/[;:]/g)).forEach(this.appendPath, this);
  return;
}

答案 1 :(得分:2)

看起来像NODE_PATH问题,尝试执行以下命令:

echo "export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules" >> ~/.bashrc && source ~/.bashrc^C

或者只需输入yo doctor即可了解正在发生的事情