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


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

sqlite很好用,不需要安裝,使用electron開發桌面程序,sqlite自然是存儲數據的不二之選,奈何編譯出錯,並且出現各種問題。也見識到了各種各樣的錯誤。現在就把成功的方法告訴你們,並且附一些錯誤的貼圖或者錯誤碼。

首先編譯這個東西,需要准備的東西,以及下載的地址:

python2.7

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

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

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

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

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

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

下來運行這些命令

使用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

 

 

 

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM