Mar*_*k M 5 node.js electron visual-studio-code vscode-extensions better-sqlite3
我已经构建了一个节点应用程序,它使用一个模块来处理数据库(更好的 sqlite3)。
它作为节点应用程序运行良好。但是,现在我正在尝试制作一个具有大部分相同功能的 VS Code 扩展。
但是,当我安装模块、构建并运行新扩展时,我收到以下消息:
激活扩展 'undefined_publisher.myPlugin' 失败:模块 '\?\C:...\node_modules\better-sqlite3\build\Release\better_sqlite3.node' 是针对不同的 Node.js 版本使用 NODE_MODULE_VERSION 72 编译的。此版本Node.js 需要 NODE_MODULE_VERSION 75。请尝试重新编译或重新安装模块(例如,使用
npm rebuild或npm install)。
我知道 VS Code 扩展是 Electron 应用程序,它们使用的节点版本与我为纯节点应用程序创建的节点版本不同,但我不清楚我必须在扩展程序中做什么来构建模块(更好的 sqlite3)节点的正确版本?
npm rebuild在普通节点下编译代码。它不会构建插件。要解决,您必须执行以下操作:
npm install --save-dev electron-rebuild
# Every time you run "npm install", run this:
./node_modules/.bin/electron-rebuild
# On Windows if you have trouble, try:
.\node_modules\.bin\electron-rebuild.cmd
Run Code Online (Sandbox Code Playgroud)
另外,如果上述方法不起作用,您需要进行一些清理和重建工作,具体如下:
npm i -D electron-rebuildnode-modules文件夹中删除<your-module-name>和@<your-module-name>
文件夹。packages-lock.jsonnpm i以安装未安装的模块./node_modules/.bin/electron-rebuild或相应的 Windows 等效 -.\node_modules\.bin\electron-rebuild.cmd
在 npm i 之后直接运行上述命令非常重要。参考:电子文档 - https://www.electronjs.org/docs/tutorial/using-native-node-modules
类似问题 - https://github.com/mscdex/cap/issues/92
类似问题 - https://github.com/serialport/node-serialport/issues/1910
| 归档时间: |
|
| 查看次数: |
503 次 |
| 最近记录: |