我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

electron中使用sqlite3,是个很奇妙的体验。你可以在网页(渲染进程)的js脚本里面,写sql语句,删除和修改数据库。这是传统网页代码,所不能实现的功能。当然,你还可以在主进程里面写这样的sql语句,体会winform一致的感受。是不是听上去不错?不过这里面也是有不少大坑的。

苏南大叔:electron 搭配 sqlite3 数据库之环境安装 - electron-sqlite3
electron 搭配 sqlite3 数据库之环境安装(图7-1)

本篇文章将要讲述:在electron中,如何安装sqlite这个module模块。

大前提安装python环境

如果您的系统是mac,可以略过本步骤,因为mac系统自带python

如果是win,请仔细检测python是否加入系统环境变量,推荐安装2.7版本的python,目前可能更加合适(不过,不排除在未来推荐安装3x系列python的可能性)。

截至到发稿,python@2.7下载地址如下:(注意版本号变化中)

苏南大叔:electron 搭配 sqlite3 数据库之环境安装 - win_04
electron 搭配 sqlite3 数据库之环境安装(图7-2)

注意事项一

请确认安装了python,并且确认系统可以识别python的路径。请一定要注意,安装的时候,请选择把python加入系统变量path。下面是截图是win下的python安装截图,仅供参考。

苏南大叔:electron 搭配 sqlite3 数据库之环境安装 - win_07
electron 搭配 sqlite3 数据库之环境安装(图7-3)

无论是使用python的那个版本,安装的时候,都会有个默认没有勾选的『加入系统变量path』的选项的。找到它,然后选择上即可。

注意事项二

下面也可能是个导致编译失败的可能性,本地测试环境(win)里,nodejs也许安装路径放在了program files目录里面,这可能会导致编译命令中的路径出错。这个作为一个补充说明作为备选,就是说nodejs路径里面最好不要出现空格。

苏南大叔:electron 搭配 sqlite3 数据库之环境安装 - win_05
electron 搭配 sqlite3 数据库之环境安装(图7-4)

win环境下构建相关补充说明

如果您的系统是mac,可以略过本步骤,因为mac系统不用这么麻烦。在windows环境下,rebuild是否成功,还需要特殊设置build-tools

  • 传说中,在win下,如果想要顺利构建sqlite,还需要安装vs2015。但是苏南大叔的电脑上,本来就安装了vs2015,所以,这点无从验证。如果您要新安装vs2015的话,鉴于其安装所需要的时间过长,基本上至少半天的功夫就废了,您要有较强的心理准备。可以先试试下面的方案,不行的话,再来安装vs2015
  • 另外,江湖传闻:不需要安装vs2015,仅仅需要执行npm install windows-build-tools -g。苏南大叔,在这之前,也安装过了windows-build-tools。所以,这点上也无从验证。这个插件的安装,还是比较快速的。

方案一:一句话脚本方案

本条命令不分win还是mac,命令都是一致的。但是对于编译结果来说:不同的系统下是不一样的,不能混用,这一点要注意。

cnpm install sqlite3@latest --build-from-source --runtime=electron --target=1.7.9 --dist-url=https://atom.io/download/electron --save

此命令就一条,执行不成功,就请自行科学上网。不要使用npmnpm会出错,cnpm才ok。安装成功后,就可以顺利使用sqlite,其实这个过程中,会试图下载sqlite3和你指定版本的electronprebuild版本,没有发现的话。就会重新build一份合适的版本出来。所以一定要注意,版本号1.7.9的字样,指的是electron的版本号,就是你本地的electron的版本号。请使用下面的脚本,确定这个值!

electron --version

如果安装成功,但是执行报错的话,那么原因只有一个:版本号不一致。请检查下面几个位置的版本号是否一致?

  • electron全局的版本 electron --version
  • electron本地的版本 node_modules/.bin/electron --version
  • package.json中的electron版本号
  • 构建命令中的--target=后面的版本号

苏南大叔:electron 搭配 sqlite3 数据库之环境安装 - 019
electron 搭配 sqlite3 数据库之环境安装(图7-5)

如果node-pre-gyp报错404的话,不必理会,下一步就会在你的系统中自行编译的。可供下载的成品编译完成版本,不是很全的。因为这可能性数是: sqlite的版本数 x electron的版本数 x 系统版本(mac,win)= N种组合,不存在也是非常有可能的。已有的可供下载的成品版本,可以点击这里查看。

下图是安装完成node_modules文件夹截图,请确认nansqlite3这两个快捷方式是存在,否则使用的时候会报错的,请务必确认这一点。

苏南大叔:electron 搭配 sqlite3 数据库之环境安装 - folder
electron 搭配 sqlite3 数据库之环境安装(图7-6)

对于安装不成功的情况,请从下面几点来检查。
1:科学上网 + cnpm,不解释。
2:python相关,请查看上面有关python的提示条目。
3:替换参数dist-url,替换方式如下所示:

newsn.net:这里是【评论】可见内容

方案二:三句话脚本方案

本条解决方案和上一条解决方案,任选一个即可。

npm install sqlite3 --save
npm install electron-rebuild --save

如果是mac系统的话,执行:

./node_modules/.bin/electron-rebuild

如果是win系统的话,执行:

.\node_modules\.bin\electron-rebuild.cmd

苏南大叔:electron 搭配 sqlite3 数据库之环境安装 - npm-install-rebuild
electron 搭配 sqlite3 数据库之环境安装(图7-7)

题外话

事实上,由于这个sqlite3的环境安装,确实是相当复杂,有大量的读者表示:即使按着本文的操作一步一步做了,也不能正常使用。苏南大叔表示很无奈,本文的步骤,都是苏南大叔亲自实验出来的结果。

下面给出几个链接吧,据说是已经集成好sqlite3electron,由于苏南大叔还没有试验过,所以暂不表态,仅仅是列出链接而已。

总结

若要取得真经,必要经历劫难。sqlite3数据库的使用,在环境安装这步骤卡住的网友不在少数。本文的环境安装好之后,才能继续后续的文章,研究一下sqlite3electron的使用方案。

特别是在win环境下,一定要注意:

  • python2.7是否正确安装?(是否加入了环境变量?安装目录中是否没有空格?)
  • windows-build-tools是否正确安装?
  • rebuild命令中的electron的版本号是否正确设置?

没搞定的同学,也不要灰心,这里多尝试几次,总是会成功的。这个sqlite的构建步骤确实非常困难,很多人都没能正确构建。不过,关键点就上面所述这么多,没有其他的。所以,请多尝试几次吧!

更多有关sqlite的内容,请关注苏南大叔的经验文章。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python    electron