运行yo code创建VS Code扩展时报lookups.flatMap is not a function错误
错误产生原因
这个报错的核心是flatMap方法不存在,该方法是ES2019标准新增的数组原型方法,Node.js从11.0.0版本才开始原生支持。
当前你本地运行的Node.js版本低于11.0.0,而你安装的最新版yo工具依赖的yeoman-environment包底层已经使用了flatMap语法,不再兼容低版本Node,因此执行yo code时会抛出该类型错误。
可行解决方案
- 方案一(最推荐):将本地Node.js版本升级到12.x及以上的长期支持版本,升级完成后重新全局安装
yo和generator-code,即可正常执行yo code命令。 - 方案二(兼容旧Node版本):如果暂时无法升级Node版本,可以降级安装兼容低版本Node的yo旧版本,执行命令
npm install -g yo@3.1.1即可,该版本依赖的yeoman-environment未使用flatMap语法,可兼容Node 10.x版本。 - 方案三(多版本Node场景适配):如果已经安装了高版本Node仍报该错误,执行
node -v检查当前终端激活的Node版本是否符合要求,存在多版本Node共存时通过版本管理工具切换到12.x及以上版本即可。
内容的提问来源于stack exchange,提问作者Arjunlal M.A
相关产品推荐
相关产品推荐

