运行 生成器后错误 "Unhandled 'error' event"
Error "Unhandled 'error' event" after running yo generator
我正在尝试使用 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
我有类似的问题。但是,更新或重新安装 yo 对我没有帮助。
我的node环境由nvm管理,我目前使用的是node v6.2.0。然而,yo 是很久以前在我使用 node v4.4.1 时安装在我的电脑上的。当我使用 v4.4.1 时,我没有得到错误。
因此,结论是 yo angular-fullstack 命令在安装它的同一节点版本中工作。由于 nvm 在节点版本之间切换很方便,对我来说这不是什么大问题。我只在生成一些 angular 组件时使用 v4.4.1,然后切换回最新版本。
我也有这个问题。
我也在使用 nvm 来管理我的节点版本。
在我的例子中,npm dedupe -g
、npm update -g yo
、npm uninstall -g yo
和 npm install -g yo
的某种组合达到了目的。
我还重新 运行 npm link
从我的生成器,因为它是一个本地生成器。我认为如果它是你从 npm 安装的生成器,npm uninstall -g <generator-name>
后跟 `npm install -g 将起到同样的作用。
在所有这一切的某个时候,生成器再次开始工作,但我没有注意到确切的时间,因为我是 运行 生成器作为我单元测试的一部分。
最终,我意识到当我从命令行 运行 生成器时它正在工作,但当我从我的测试文件中 运行 它时却没有。
那时,将 yeoman's test helpers (npm update yeoman-test
) 从 1.1.0
更新为 1.4.0
就成功了。
我正在尝试使用 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
我有类似的问题。但是,更新或重新安装 yo 对我没有帮助。
我的node环境由nvm管理,我目前使用的是node v6.2.0。然而,yo 是很久以前在我使用 node v4.4.1 时安装在我的电脑上的。当我使用 v4.4.1 时,我没有得到错误。
因此,结论是 yo angular-fullstack 命令在安装它的同一节点版本中工作。由于 nvm 在节点版本之间切换很方便,对我来说这不是什么大问题。我只在生成一些 angular 组件时使用 v4.4.1,然后切换回最新版本。
我也有这个问题。 我也在使用 nvm 来管理我的节点版本。
在我的例子中,npm dedupe -g
、npm update -g yo
、npm uninstall -g yo
和 npm install -g yo
的某种组合达到了目的。
我还重新 运行 npm link
从我的生成器,因为它是一个本地生成器。我认为如果它是你从 npm 安装的生成器,npm uninstall -g <generator-name>
后跟 `npm install -g 将起到同样的作用。
在所有这一切的某个时候,生成器再次开始工作,但我没有注意到确切的时间,因为我是 运行 生成器作为我单元测试的一部分。
最终,我意识到当我从命令行 运行 生成器时它正在工作,但当我从我的测试文件中 运行 它时却没有。
那时,将 yeoman's test helpers (npm update yeoman-test
) 从 1.1.0
更新为 1.4.0
就成功了。