运行哟生成器后,错误“未处理”错误“事件”

我正在尝试使用Generatos的生成器,即generator-generator,而且我正面临一个错误。

henrique@liberato:~/Documents$ yo generator ? Your generator name (generator-documents) events.js:154 throw er; // Unhandled 'error' event ^ TypeError: this.env.adapter.prompt(...).then is not a function at Base.prompt (/home/henrique/.nvm/versions/node/v5.8.0/lib/node_modules/generator-generator/node_modules/yeoman-generator/lib/base.js:232:45) at askName (/home/henrique/.nvm/versions/node/v5.8.0/lib/node_modules/generator-generator/node_modules/inquirer-npm-name/lib/index.js:25:19) at module.exports.generators.Base.extend.prompting (/home/henrique/.nvm/versions/node/v5.8.0/lib/node_modules/generator-generator/app/index.js:21:12) at Object.<anonymous> (/home/henrique/.nvm/versions/node/v5.8.0/lib/node_modules/generator-generator/node_modules/yeoman-generator/lib/base.js:431:23) at /home/henrique/.nvm/versions/node/v5.8.0/lib/node_modules/generator-generator/node_modules/run-async/index.js:26:25 at /home/henrique/.nvm/versions/node/v5.8.0/lib/node_modules/generator-generator/node_modules/run-async/index.js:25:19 at /home/henrique/.nvm/versions/node/v5.8.0/lib/node_modules/generator-generator/node_modules/yeoman-generator/lib/base.js:432:9 at processImmediate [as _immediateCallback] (timers.js:383:17) 

版本:

 henrique@liberato:~/Documents$ node -v v5.8.0 henrique@liberato:~/Documents$ npm -version 3.8.9 

我已经做了npm cache clean和npm install -g yo / yeoman-generator / generator-generator。 已经重新安装了节点和npm。

谢谢你的时间 :)

你需要更新yo到最新版本。

npm -g update yo

如果这不起作用,那么你想要:

 npm -g uninstall yo npm -g install yo 

我有类似的问题。 但是,更新或重新安装哟并没有帮助我。

我的节点环境由nvmpipe理,我正在使用节点v6.2.0。 然而,哟很久以前安装在我的电脑,而我使用节点v4.4.1。 当我使用v4.4.1时,我没有得到错误。

因此,得出的结论是,yo angular-fullstack命令在安装它的同一节点版本中工作。 由于nvm在节点版本之间切换方便,对我来说这不是什么大问题。 我只在生成一些angular度组件时才使用v4.4.1,并切换回最新版本。

我也有这个问题。 我也使用nvm来pipe理我的节点版本。

在我的情况下,一些npm dedupe -gnpm update -g yonpm uninstall -g yonpm install -g yo的组合伎俩。 我也重新从我的发电机重新npm link ,因为它是一个本地发电机。 我想如果是从npm安装的生成器, npm uninstall -g <generator-name>然后是`npm install -g将起到相同的作用。

在这一切的过程中,发电机再次开始工作,但是我没有注意到什么时候,因为我正在运行发电机作为我的unit testing的一部分。

最后,我意识到当我从命令行运行它时,发生器正在工作,但是当我从testing文件运行它时,发生器不工作。

在这一点上,将yeoman的testing助手 ( npm update yeoman-test )从1.1.0 npm update yeoman-test1.4.0的确有窍门。