electron 編譯 sqlite3避坑指南---尾部連接有已經編譯成功的sqlite3

electron 編譯 sqlite3避坑指南(尾部連接有已經編譯成功的sqlite3)

sqlite很好用,不須要安裝,使用electron開發桌面程序,sqlite天然是存儲數據的不二之選,奈何編譯出錯,而且出現各類問題。也見識到了各類各樣的錯誤。如今就把成功的方法告訴大家,而且附一些錯誤的貼圖或者錯誤碼。javascript

首先編譯這個東西,須要準備的東西,以及下載的地址:java

python2.7node

下載地址:https://www.python.org/downloads/python

vs2015,(必須是2015版本,2017根本不行)git

下載地址:(微軟的官網,以及沒有這個連接了)github

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

安裝完以後,必定要安裝vs2015所需的C++開發環境,這點很重要,由於要是沒有這個東西,會報錯,缺乏v140的工具集,之因此沒有選擇vs2017,是因爲vs201沒有v140的工具集,具體sqlite爲何只能使用v140的工具集這點沒有去查證。npm

提早預警:這個步驟耗時比較長。。。。。windows

下來運行這些命令bash

使用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
以及使用以下命令
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
按照命令
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

 

 

 

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

若按照這個編譯,還出問題,能夠在博客園中及時聯繫我也能夠在該文章下留言 ,以待文章更加完善。

相關文章
相關標籤/搜索