我正在尝试让sqlite3在Windows7和10上运行的电子应用程序中运行。运行以下命令,我能够创建electron-v1.7-win32-x64\node_sqlite3.node
cd node_modules/sqlite3 && sudo npm install nan
&& sudo npm run prepublish && sudo node-gyp configure --module_name=node_sqlite3 --module_path=…/lib/binding/electron-v1.7-win32-x64
&& node-gyp rebuild --target=1.6.11 --arch=x64 --target_platform=win32 --dist-url=https://atom.io/download/atom-shell
--module_name=node_sqlite3 --module_path=…/lib/binding/electron-v1.7-win32-x64
但是,我得到Uncaught Error: %1 is not a valid Win32 application. \\?\c:\folder\ppt_win32-x64\resources\app\node_modules\sqlite3\lib\binding\electron-v1.7-win32-x64\node_sqlite3.node.
我的节点版本是v7.4.0。电子v1.6.11。
答案 0 :(得分:-1)
我试图从mi Mac编译Windows,但我也遇到了这个问题,但是经过一番阅读,我弄清楚了如何进行操作,毕竟我可以说我明白了。昨天我花了一整天的时间在(其他)Linux笔记本电脑中设置Windows虚拟机(我之所以使用linux笔记本电脑,是因为我的Mac电脑的存储空间已耗尽...)。我在Windows中的电子主进程的preloadScript遇到了问题,Cant找到了该脚本,它也已解决。
无论如何,我认为@tojocky的库节点打印机维护得很好,另一方面,在电子生成器文档中,他们说您出于自然原因应该使用本机编译。有了它,您将看到它是一个更干净实用的解决方案...
这是我的整个过程,希望对遇到相同问题的人有所帮助:
如果仍然有错误,您也可以重建本机依赖性,请运行:
毕竟,您应该使用electron-builder进行构建,在我的情况下,我的npm脚本命令是build --win --x64,但是您也可以对32位使用--ia32标志