咱啥也不知道,咱就是上周加了个007的班,周一开机,一不小心就解决了这个卡了三周的问题。
咱这三周把网上大同小异的方法试了个遍,依旧报下图这个杀千刀的错误。(请记住画绿线的部分,后面会用到)

原因是npm install时加载package.json是会在node_modules下安装原生sqlite3模块,binding下会产生一个类似node-v51-win32-x64的文件夹,这个时候我们按照提示去node_module下找到这个路径发现是如图的文件:

所以咱需要做的是编译产生lib\binding\electron-v2.0-win32-x64\node_sqlite3.node路径,手动修改并不能解决问题。
咱不提网上说的那些个方法了,直接上我的解决办法:
- 安装python2.7版本;
- 安装VS 2015(一定要安装C++,检查有没安装好的办法:可以新建一个C++工程,如果没有安装好相关工具会提示安装,一定要耐心哦,巨慢...)
npm install -g node-gypnpm install electron-rebuild --save-devnpm install sqlite3 --save-dev- 在你的package.json中加入以下script:
注意:"postinstall": "cd node_modules/sqlite3 && npm install nan && node-gyp configure --module_name=node_sqlite3 --module_path=../lib/binding/electron-v1.4-win32-x64 && node-gyp rebuild --target=2.0.18 --arch=x64 --target_platform=win32 --dist-url=https://atom.io/download/atom-shell --module_name=node_sqlite3 --module_path=../lib/binding/electron-v2.0-win32-x64"
1、target后面的版本是指的你本地node_module实际安装的Electron的版本号(两种方法可以查看版本号,
一种:去node_module里看electron文件夹下的package.json
一种:在package.json的script里加入"ev": "electron --version",然后运行npm run ev就可以了
2、../lib/binding/electron-v2.0-win32-x64中的 v2.0 也就是一开始画绿线的那个啦,把这个换成一样的就行。这个地方安装可能会被墙,有VPN的就搞上,没有的可以参考这里www.jianshu.com/p/5feed1155… 引用淘宝镜像)
3、postinstall命令在 npm install 后会自动执行 npm run postinstall
注意: 如果报[.node-gyp\iojs-2.0.5\x64\iojs.lib : fatal error LNK1107: 文件无效或损坏: 无法在 0x309A76 处读取]这样的错误,需要将C:\Users\自己的账号\.node-gyp 文件夹删除,然后删除node_module重新npm install就可以了。
以上,我的这个问题就解决啦。最后贴上我的package.json文件图片:

最后的最后,网上的方法都不好使,咱就去GitHub上找找嘛,提供一个参考链接github.com/mapbox/node…
撒花,接下来就可以愉快的CURD了...