比写不出代码更恶心的,是环境配置出问题,写好的代码运行不了。widows下electron中直接安装sqlite3,调用的时候会提示找不到sqlite模块。看似简单,却没有一点提示,国内网上资料残缺不全,大多互相复制。卡了接近一星期,百度谷歌翻到烂。今天终于编译成功,遂记录此过程,望能给他人一些解决思路。
安装步骤
1.安装vs2015!
vs2015中包含编译用的c++环境
ed2k://|file|cn_visual_studio_community_2015_x86_dvd_6847368.iso|4013920256|EB7F6605EDE67509E218E29173AC6574|/
此为Visual Studio Community 2015中文版。把c++相关的安装上。安装完毕后,打开vs2015--》文件--》新建--》项目
选择c++空白模板,如果环境未安装完全,则会提示安装剩余部分,全装上!!
2.python 2.7
python官网上下载。一定要是2.7的,3.X的不支持。
安装时记得勾选设置环境变量。
3.安装cnpm
墙裂推荐cnpm,避免各种ETIMEOUT,有时候不是设置下换源就能解决的
4.安装sqlite3
前戏结束,进入正题。首先,确认当前electron版本
"scripts": { ... "ev": "electron --version" }
运行electron --version命令,为了省事我把其添加进package.json中了,npm run ev使用。
我的版本是1.7.11
运行
cnpm install sqlite3@latest --build-from-source --runtime=electron --target=1.7.11 --dist-url=https://atom.io/download/electron --save
注意target后是你当前electron的版本号
基本操作到这里就完成了。接下来就是祈祷然后等待(2~3mins)。运气好的话通过,不好的话就会满屏error。
常见错误记录
以下是我遇到的各种错误,当时没有截图,现在只能描述。暂时只想起了这些
- node-gyp安装,这个较简单,注意windows下需要提前安装好环境(vs2015)
- 注意看错误提示,在最开始的地方有时会提示说找不到python,需要设置环境变量。 可是尼玛我环境变量就在上面写着啊!我也是醉了。怎么设置都不行。最后python卸载重装,不报这个错了。(如果python有多个版本,需要设置版本,详情搜node-gyp包)
- 报错 啥也别说了,去装vs2015吧。
-
报错 fatal error C1083: 无法打开包括文件: “node.h”。这个错误竟然是因为系统用户名必须要ASCII码的,我tm当时手贱写了个中文用户名,卡了我一晚上。
参考
遇到了两篇较为有参考价值的博客,给我提供了很大的参考
- 一个使用electron-vue模板的项目,但是按照其安装sqlite3失败了
- sqlite3的安装与使用,我所使用的方法是按照此文章中完成的,但是其对安装失败的过程一笔带过,我算是一种踩坑后的补全吧
一星期的煎熬之后总算把这个坑解决了。不过我已经预感到打包时会有更大的坑出现了。每天都是瞎折腾,烦躁