VS Code扩展激活失败:robotjs模块Node.js编译版本不匹配问题求助
问题核心原因
VS Code扩展运行在VS Code内置的Electron环境中,你收到的NODE_MODULE_VERSION 89是Electron对应Node的模块版本号,不存在于官方Node.js发行版中,所以你切换系统Node版本无法解决问题,需要针对VS Code对应的Electron版本重编译robotjs原生模块。
可行解决步骤
- 第一步:查询你当前使用的VS Code对应的Electron版本
打开VS Code顶部菜单「帮助」-「关于」,在弹出的信息中找到Electron对应的版本号,NODE_MODULE_VERSION 89对应的是Electron 12.x版本,你可以直接对应使用。 - 第二步:使用electron-rebuild重编译robotjs
在扩展项目根目录执行以下命令,将命令中的12.0.0替换为你查到的实际Electron版本号:npx electron-rebuild --version 12.0.0 -w robotjs - 备选方案:如果electron-rebuild执行失败,可以直接用npm指定参数重编译
同样替换12.0.0为你的实际Electron版本号:npm rebuild robotjs --runtime=electron --target=12.0.0 --dist-url=https://electronjs.org/headers - 编译依赖补充:如果编译过程中报构建工具缺失错误,Windows环境先执行
npm install -g windows-build-tools安装基础构建链后再重新执行编译命令,Mac环境需提前安装Xcode命令行工具,Linux环境需提前安装build-essential、libxtst-dev、libpng-dev依赖包。
验证
编译完成后重新按下F5启动扩展测试,即可正常加载robotjs模块。
内容的提问来源于stack exchange,提问作者felixkoe
相关产品推荐
相关产品推荐

