Йо не знает об установленных генераторах
Я только что установил 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 ответа
Помимо добавления к вашему пути, вы также должны установить NODE_PATH
переменная окружения. Код йомена / генератора будет выглядеть там первым:
// 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;
}
Похоже, проблема NODE_PATH, попробуйте выполнить следующую команду:
echo "export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules" >> ~/.bashrc && source ~/.bashrc^C
Или просто введите yo doctor
выяснить, что происходит