electron 编译 sqlite3避坑指南---尾部连接有已经编译成功的sqlite3

electron 编译 sqlite3避坑指南(尾部连接有已经编译成功的sqlite3)

sqlite很好用,不须要安装,使用electron开发桌面程序,sqlite天然是存储数据的不二之选,奈何编译出错,而且出现各类问题。也见识到了各类各样的错误。如今就把成功的方法告诉大家,而且附一些错误的贴图或者错误码。javascript

首先编译这个东西,须要准备的东西,以及下载的地址:html

python2.7java

下载地址:https://www.python.org/downloads/node

vs2015,(必须是2015版本,2017根本不行)python

下载地址:(微软的官网,以及没有这个连接了)git

社区版(我的免费)
http://download.microsoft.com/download/B/4/8/B4870509-05CB-447C-878F-2F80E4CB464C/vs2015.com_chs.isogithub

安装完以后,必定要安装vs2015所需的C++开发环境,这点很重要,由于要是没有这个东西,会报错,缺乏v140的工具集,之因此没有选择vs2017,是因为vs201没有v140的工具集,具体sqlite为何只能使用v140的工具集这点没有去查证。sql

提早预警:这个步骤耗时比较长。。。。。npm

下来运行这些命令windows

使用cnpm妥妥的。

cnpm install sqlite3 --save

cnpm install node-gyp -g cnpm install nan
--save cnpm install electron-rebuild --save .\node_modules\.bin\electron-rebuild.cmd cd .\node_module\sqlite3

下来使用管理员模式打开cmd,运行下面命令

cnpm install -g windows-build-tools
查看electron版本,使用命令 electron --version
本例中electron版本为3.0.0,因此target=3.0.0
以及使用以下命令
查看electron版本,使用命令 electron --version
本例中electron版本为3.0.0,因此target=3.0.0
以及使用以下命令
node-gyp rebuild --target=3.0.0 --arch=x64 --target_platform=win32 --dist-url=https://atom.io/download/electron/ --module_name=node_sqlite3 --module_path=../lib/binding/electron-v3.0-win32-x64

  此时能够在\sqlite3\lib\binding下,多了一个electron-v3.0-win32-x64文件夹,此文件下,就是electron所需的sqlite文件。(这一步时间也可能比较长,须要多试几回,耐心等待。出现错误,看提示信息)

下面贴上一些错误图,而且给出一些解决方方式

加载超时,充重试一次。

如果发现某个文件没有找到之类,须要,确定是vs2015工具集问题,必须使用v140的工具集,如果须要下载windows sdk,在网络搜下载便可。

 

 

---------------------------------2018.11.02分割线----------------------------------------------------------------------------------------------------------------------------------------------------------------------

在网上看到找这方面的资料挺多的,而后也有人在网上私信我编译出来的64位的东西,打包成electron 32的位的有问题,会出错。我在这边尝试了一下,果真是出错的,因此,又得从新编译一次,适合electron 32 位的sqlite3
按照命令
---------------------------------2018.11.02分割线----------------------------------------------------------------------------------------------------------------------------------------------------------------------

在网上看到找这方面的资料挺多的,而后也有人在网上私信我编译出来的64位的东西,打包成electron 32的位的有问题,会出错。我在这边尝试了一下,果真是出错的,因此,又得从新编译一次,适合electron 32 位的sqlite3
按照命令
node-gyp rebuild --target=3.0.0 --arch=x86 --target_platform=win32 --dist-url=https://atom.io/download/electron/ --module_name=node_sqlite3 --module_path=../lib/binding/electron-v3.0-win32-x86  //不成功

发现按照此命令。不可以成功编译

错误截图以下

 

思前想后,确定是

--arch=x86,这边出了问题,网上有不少,介绍x64,x86_64,以及x86_ia32,ia32的知识,本身试着从新编译,将--arch=x86改为--arch=ia32,问题成功解决,,地下就是编译32位sqlite的完美代码
node-gyp rebuild --target=3.0.0 --arch=ia32 --target_platform=win32 --dist-url=https://atom.io/download/electron/ --module_name=node_sqlite3 --module_path=../lib/binding/electron-v3.0-win32-ia32

 

虽说了这么多,如今仍是把编译好的东西,分享给你们,本身的环境以下:

"electron": "^3.0.5",    
"sqlite3": "^4.0.3"

下载地址:GitHub   但愿给个Star ☆☆☆

使用说明:将编译好的包,放到  项目名称\node_modules\sqlite3\lib\binding

 

 

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

若按照这个编译,还出问题,能够在博客园中及时联系我也能够在该文章下留言 ,以待文章更加完善。

 

转载于:https://www.cnblogs.com/DonaHero/p/9809325.html