electron+sqlite3的一起使用_electron-rebuild sqlite3-程序员宅基地

技术标签: sqlite3  bug  electron  electron和sqlite3使用的坑  

在用react,electron,创建的程序时可以运行的,当添加sqlite3时,编译就过不去了,因为sqlite3是C++写的,所以在使用的时候我们不能直接用,需要编译下才可以使用,但是这个编译过程有些难走。

首先下载了electron-rebuild

npm install --save-dev electron-rebuild

然后,下载了sqlite3

npm install --save sqlite3

随后修改了package.json: //在scripts命令中添加此条

"scripts": {
    "rebuild": "electron-rebuild -f -w sqlite3" 
  },

然后运行编译:

npm run rebuild

遇到了如下的错误:

zoe@DESKTOP-MEP5D54 MINGW64 /e/aPritice/appelectronnfc
$ npm run rebuild

> [email protected] rebuild E:\aPritice\appelectronnfc
> electron-rebuild -f -w sqlite3

- Searching dependency tree
× Rebuild Failed

An unhandled error occurred inside electron-rebuild
�ڴ˽��������һ������һ����Ŀ����Ҫ���ò������ɣ������ӡ�/m�����ء�
  buffertools.cc
  win_delay_load_hook.cc
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(4458): warning C4996: 'v8::WasmModuleObject::SerializedModule': ������Ϊ�ѷ�� (����Դ�ļ� ..\buffertools.cc) [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(4380): note: �μ���v8::WasmModuleObject::SerializedModule�������� (����Դ�ļ� ..\buffertools.cc)
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(10172): warning C4996: 'v8::Value::ToBoolean': ������Ϊ�ѷ�� (����Դ�ļ� ..\buffertools.cc) [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2387): note: �μ���v8::Value::ToBoolean�������� (����Դ�ļ� ..\buffertools.cc)
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(32): error C2039: ��Handle��: ���ǡ�v8���ij�Ա [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8-platform.h(16): note: ���v8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(32): error C2873: ��Handle��: ���Ų������� using ������ [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(256): warning C4996: 'v8::Value::Int32Value': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2446): note: ���v8::Value::Int32Value��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(261): warning C4996: 'v8::String::Utf8Value::Utf8Value': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2893): note: ���v8::String::Utf8Value::Utf8Value��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(266): warning C4996: 'v8::Value::ToObject': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(10183): note: ���v8::Value::ToObject��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(272): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(329): warning C4996: 'v8::Value::Int32Value': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2446): note: ���v8::Value::Int32Value��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(363): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(381): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(419): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(449): warning C4996: 'v8::String::Utf8Length': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2556): note: ���v8::String::Utf8Length��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(452): warning C4996: 'v8::Value::ToObject': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(10183): note: ���v8::Value::ToObject��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(460): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(470): warning C4996: 'v8::String::Utf8Value::Utf8Value': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2893): note: ���v8::String::Utf8Value::Utf8Value��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(475): warning C4996: 'v8::Value::ToObject': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(10183): note: ���v8::Value::ToObject��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(482): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2065: ��Handle��: δ�����ı�ʶ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2275: ��v8::Object��: ����������������ʽ�Ƿ� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(3257): note: ���v8::Object��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2065: ��target��: δ�����ı�ʶ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2182: ��RegisterModule��: �Ƿ�ʹ�á�void������ [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2448: ��`anonymous-namespace'::RegisterModule��: ������ʽ��ʼֵ�趨�����ƺ������� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(506): warning C4312: ������ǿ��ת����: �ӡ�int��ת��������ġ�node::addon_register_func�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (E:\aPritice\appelectronnfc\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "E:\\aPritice\\appelectronnfc\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=5.0.1" "--arch=x64" "--dist-url=https://atom.io/download/electron" "--build-from-source"
gyp ERR! cwd E:\aPritice\appelectronnfc\node_modules\buffertools
gyp ERR! node -v v10.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

Failed with exit code: 1

Error: �ڴ˽��������һ������һ����Ŀ����Ҫ���ò������ɣ������ӡ�/m�����ء�
  buffertools.cc
  win_delay_load_hook.cc
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(4458): warning C4996: 'v8::WasmModuleObject::SerializedModule': ������Ϊ�ѷ�� (����Դ�ļ� ..\buffertools.cc) [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(4380): note: �μ���v8::WasmModuleObject::SerializedModule�������� (����Դ�ļ� ..\buffertools.cc)
c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(10172): warning C4996: 'v8::Value::ToBoolean': ������Ϊ�ѷ�� (����Դ�ļ� ..\buffertools.cc) [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2387): note: �μ���v8::Value::ToBoolean�������� (����Դ�ļ� ..\buffertools.cc)
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(32): error C2039: ��Handle��: ���ǡ�v8���ij�Ա [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8-platform.h(16): note: ���v8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(32): error C2873: ��Handle��: ���Ų������� using ������ [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(256): warning C4996: 'v8::Value::Int32Value': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2446): note: ���v8::Value::Int32Value��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(261): warning C4996: 'v8::String::Utf8Value::Utf8Value': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2893): note: ���v8::String::Utf8Value::Utf8Value��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(266): warning C4996: 'v8::Value::ToObject': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(10183): note: ���v8::Value::ToObject��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(272): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(329): warning C4996: 'v8::Value::Int32Value': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2446): note: ���v8::Value::Int32Value��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(363): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(381): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(419): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(449): warning C4996: 'v8::String::Utf8Length': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2556): note: ���v8::String::Utf8Length��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(452): warning C4996: 'v8::Value::ToObject': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(10183): note: ���v8::Value::ToObject��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(460): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(470): warning C4996: 'v8::String::Utf8Value::Utf8Value': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2893): note: ���v8::String::Utf8Value::Utf8Value��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(475): warning C4996: 'v8::Value::ToObject': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(10183): note: ���v8::Value::ToObject��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(482): warning C4996: 'v8::String::NewFromUtf8': ������Ϊ�ѷ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(2785): note: ���v8::String::NewFromUtf8��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2065: ��Handle��: δ�����ı�ʶ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2275: ��v8::Object��: ����������������ʽ�Ƿ� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
  c:\users\zoe\.electron-gyp\5.0.1\include\node\v8.h(3257): note: ���v8::Object��������
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2065: ��target��: δ�����ı�ʶ�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2182: ��RegisterModule��: �Ƿ�ʹ�á�void������ [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(492): error C2448: ��`anonymous-namespace'::RegisterModule��: ������ʽ��ʼֵ�趨�����ƺ������� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
e:\apritice\appelectronnfc\node_modules\buffertools\buffertools.cc(506): warning C4312: ������ǿ��ת����: �ӡ�int��ת��������ġ�node::addon_register_func�� [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (E:\aPritice\appelectronnfc\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "E:\\aPritice\\appelectronnfc\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=5.0.1" "--arch=x64" "--dist-url=https://atom.io/download/electron" "--build-from-source"
gyp ERR! cwd E:\aPritice\appelectronnfc\node_modules\buffertools
gyp ERR! node -v v10.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

Failed with exit code: 1
    at SafeSubscriber._error (E:\aPritice\appelectronnfc\node_modules\spawn-rx\lib\src\index.js:267:84)
    at SafeSubscriber.__tryOrUnsub (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:205:16)
    at SafeSubscriber.error (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:156:26)
    at Subscriber._error (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:92:26)
    at Subscriber.error (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:72:18)
    at MapSubscriber.Subscriber._error (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:92:26)
    at MapSubscriber.Subscriber.error (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:72:18)
    at SafeSubscriber._next (E:\aPritice\appelectronnfc\node_modules\spawn-rx\lib\src\index.js:242:65)
    at SafeSubscriber.__tryOrUnsub (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:205:16)
    at SafeSubscriber.next (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:143:22)
npm ERR! code ELIFECYCLE
npm ERR! errno 4294967295
npm ERR! [email protected] rebuild: `electron-rebuild -f -w sqlite3`
npm ERR! Exit status 4294967295
npm ERR!
npm ERR! Failed at the [email protected] rebuild script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\zoe\AppData\Roaming\npm-cache\_logs\2019-05-08T06_13_49_823Z-debug.log

编译失败了,重新找方法,继续:
看了苏南大叔的文章:
使用cnpm的一条命令,进行,我这本身没有cnpm ,所以先下载(-g是全局下载,我是下了局部的,所以下一条命令,我使用的npx cnpm …)

npm install -g cnpm --registry=https://registry.npm.taobao.org

下载完,可以 cnpm -v 看下cnpm的版本,
然后执行这条命令试下:

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

下载成功
随后我执行了npm run rebuild
得到了rebuild报错
cnpm好像不行,我缺包,删除sqlite3

npm uninstall sqlite3 --save

重新用npm 试下:
先换下淘宝镜像地址:

npm config set registry http://registry.npm.taobao.org

然后输入命令重新下载
–target=后跟的是你的electron的版本,你可使用electron -v查看

npm install sqlite3 --build-from-source --runtime=electron --target=4.0.3 --dist-url=https://atom.io/download/electron --save-dev

下载完,运行:npm run rebuild
但是得到的结果
编译报错
删除包 rm -rf node_modules/
重新下载:npm install
结果不理想…
重新编译,又回到了文章的起点报错…
如果你不想看到乱码的提示,可以尝试这个:
可以把chcp 65001作为你npm命令的一部分,也许是个可行的解决方案。就可以看到熟悉的汉字了

 "rebuild": "chcp 65001 && electron-rebuild -f -w sqlite3"

报错
重新下载node-gyp试试
先清下缓存:

npm cache clean -f

重新下载

npm uninstall node-gyp -g
npm uninstall node-gyp
npm install node-gyp -g

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

下载完成

$ npx cnpm install sqlite3@latest --build-from-source --runtime=electron --target=4.0.3 --dist-url=https://atom.io/download/electron --save
√ Installed 1 packages
√ Linked 110 latest versions
[1/1] scripts.install sqlite3@latest run "node-pre-gyp install --fallback-to-build", root: "E:\\aPritice\\appelectronnfc\\node_modules\\[email protected]@sqlite3"
node-pre-gyp WARN Using request for node-pre-gyp https download
node-pre-gyp http GET https://cdn.npm.taobao.org/dist/sqlite3/v4.0.7/electron-v4.0-win32-x64.tar.gz
node-pre-gyp http 404 https://cdn.npm.taobao.org/dist/sqlite3/v4.0.7/electron-v4.0-win32-x64.tar.gz
node-pre-gyp WARN Tried to download(404): https://cdn.npm.taobao.org/dist/sqlite3/v4.0.7/electron-v4.0-win32-x64.tar.gz
node-pre-gyp WARN Pre-built binaries not found for [email protected] and [email protected] (electron-v4.0 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp http 404 status code downloading tarball https://cdn.npm.taobao.org/dist/sqlite3/v4.0.7/electron-v4.0-win32-x64.tar.gz
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
  unpack_sqlite_dep
  sqlite3.c
  win_delay_load_hook.cc
  sqlite3.vcxproj -> E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\Release\\sqlite3.lib
  backup.cc
  database.cc
  node_sqlite3.cc
  statement.cc
..\src\statement.cc(103): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\statement.cc(161): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\statement.cc(347): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\statement.cc(412): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\statement.cc(416): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\statement.cc(483): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\statement.cc(556): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\statement.cc(564): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\statement.cc(680): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\statement.cc(694): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\statement.cc(743): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\statement.cc(837): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\statement.cc(873): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\statement.cc(887): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\backup.cc(105): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\backup.cc(119): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\database.cc(49): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
..\src\backup.cc(167): warning C4996: 'Nan::ForceSet': 被声明为已否决E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明..\src\database.cc(63): warning C4996: 'Nan::MakeCallback': 被声明为已否决

..\src\backup.cc(168): warning C4996: 'Nan::ForceSet': 被声明为已否决E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\backup.cc(169): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明..\src\database.cc(92): warning C4996: 'Nan::MakeCallback': 被声明为已否决

  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明..\src\backup.cc(170): warning C4996: 'Nan::ForceSet': 被声明为已否决

..\src\database.cc(96): warning C4996: 'Nan::MakeCallback': 被声明为已否决e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\backup.cc(236): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明..\src\database.cc(133): warning C4996: 'Nan::ForceSet': 被声明为已否决

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明..\src\backup.cc(301): warning C4996: 'Nan::MakeCallback': 被声明为已否决

  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明..\src\database.cc(134): warning C4996: 'Nan::ForceSet': 被声明为已否决

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\backup.cc(336): warning C4996: 'Nan::MakeCallback': 被声明为已否决..\src\database.cc(190): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\database.cc(194): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
..\src\node_sqlite3.cc(23): warning C4996: 'Nan::ForceSet': 被声明为已否决E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明..\src\database.cc(199): warning C4996: 'Nan::MakeCallback': 被声明为已否决

..\src\node_sqlite3.cc(24): warning C4996: 'Nan::ForceSet': 被声明为已否决E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明..\src\database.cc(273): warning C4996: 'Nan::MakeCallback': 被声明为已否决

..\src\node_sqlite3.cc(25): warning C4996: 'Nan::ForceSet': 被声明为已否决E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明..\src\database.cc(277): warning C4996: 'Nan::MakeCallback': 被声明为已否决

..\src\node_sqlite3.cc(26): warning C4996: 'Nan::ForceSet': 被声明为已否决E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明..\src\database.cc(282): warning C4996: 'Nan::MakeCallback': 被声明为已否决

..\src\node_sqlite3.cc(27): warning C4996: 'Nan::ForceSet': 被声明为已否决E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\database.cc(297): warning C4996: 'Nan::MakeCallback': 被声明为已否决..\src\node_sqlite3.cc(28): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明

..\src\database.cc(314): warning C4996: 'Nan::MakeCallback': 被声明为已否决..\src\node_sqlite3.cc(29): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\statement.cc(74): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

..\src\node_sqlite3.cc(30): warning C4996: 'Nan::ForceSet': 被声明为已否决E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明..\src\statement.cc(153): note: 参见对正在编译的函数 模板 实例化“void node_sqlite3::Statement::Error<node_sqlite3::Statement::PrepareBaton>(T *)”的引用
          with
          [
              T=node_sqlite3::Statement::PrepareBaton
          ]

..\src\node_sqlite3.cc(32): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
..\src\statement.cc(78): warning C4996: 'Nan::MakeCallback': 被声明为已否决e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

..\src\node_sqlite3.cc(34): warning C4996: 'Nan::ForceSet': 被声明为已否决E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明

..\src\node_sqlite3.cc(36): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
..\src\database.cc(421): warning C4996: 'Nan::MakeCallback': 被声明为已否决e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明..\src\node_sqlite3.cc(37): warning C4996: 'Nan::ForceSet': 被声明为已否决

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\node_sqlite3.cc(38): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\node_sqlite3.cc(39): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\node_sqlite3.cc(40): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\node_sqlite3.cc(41): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\node_sqlite3.cc(42): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
..\src\database.cc(462): warning C4996: 'Nan::MakeCallback': 被声明为已否决e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

..\src\node_sqlite3.cc(43): warning C4996: 'Nan::ForceSet': 被声明为已否决E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明

..\src\node_sqlite3.cc(44): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\node_sqlite3.cc(45): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\node_sqlite3.cc(46): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
..\src\database.cc(507): warning C4996: 'Nan::MakeCallback': 被声明为已否决e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

..\src\node_sqlite3.cc(47): warning C4996: 'Nan::ForceSet': 被声明为已否决E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\node_sqlite3.cc(48): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\node_sqlite3.cc(49): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\database.cc(564): warning C4996: 'Nan::MakeCallback': 被声明为已否决..\src\node_sqlite3.cc(50): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\node_sqlite3.cc(51): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明..\src\database.cc(568): warning C4996: 'Nan::MakeCallback': 被声明为已否决
..\src\node_sqlite3.cc(52): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明..\src\node_sqlite3.cc(53): warning C4996: 'Nan::ForceSet': 被声明为已否决

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\database.cc(573): warning C4996: 'Nan::MakeCallback': 被声明为已否决..\src\node_sqlite3.cc(54): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
..\src\node_sqlite3.cc(55): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\database.cc(603): warning C4996: 'Nan::MakeCallback': 被声明为已否决..\src\node_sqlite3.cc(56): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明

..\src\node_sqlite3.cc(57): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明
..\src\node_sqlite3.cc(58): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
..\src\database.cc(666): warning C4996: 'Nan::MakeCallback': 被声明为已否决e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

..\src\node_sqlite3.cc(59): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明

..\src\node_sqlite3.cc(60): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
..\src\database.cc(670): warning C4996: 'Nan::MakeCallback': 被声明为已否决e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

..\src\node_sqlite3.cc(61): warning C4996: 'Nan::ForceSet': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明

..\src\node_sqlite3.cc(62): warning C4996: 'Nan::ForceSet': 被声明为已否决..\src\database.cc(675): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  e:\apritice\appelectronnfc\node_modules\[email protected]@nan\nan_maybe_43_inl.h(130): note: 参见“Nan::ForceSet”的声明

..\src\backup.cc(78): warning C4996: 'Nan::MakeCallback': 被声明为已否决E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]

  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
  ..\src\backup.cc(228): note: 参见对正在编译的函数 模板 实例化“void node_sqlite3::Backup::Error<node_sqlite3::Backup::InitializeBaton>(T *)”的引用
          with
          [
              T=node_sqlite3::Backup::InitializeBaton
          ]
..\src\backup.cc(82): warning C4996: 'Nan::MakeCallback': 被声明为已否决 [E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\node_sqlite3.vcxproj]
  E:\aPritice\appelectronnfc\node_modules\[email protected]@nan\nan.h(959): note: 参见“Nan::MakeCallback”的声明
  win_delay_load_hook.cc
    正在创建库 E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\Release\node_sqlite3.lib 和对象 E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\Release\node_sqlite3.exp
  正在生成代码
  All 4564 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
  已完成代码的生成
  node_sqlite3.vcxproj -> E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\Release\\node_sqlite3.node
  node_sqlite3.vcxproj -> E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\Release\node_sqlite3.pdb (Full PDB)
  Copying E:\aPritice\appelectronnfc\node_modules\[email protected]@sqlite3\build\Release\/node_sqlite3.node to E:/aPritice/appelectronnfc/node_modules/[email protected]@sqlite3/lib/binding/electron-v4.0-win32-x64\node_sqlite3.node
  已复制         1 个文件。
[1/1] scripts.install sqlite3@latest finished in 37s
√ Run 1 scripts
Recently updated (since 2019-05-03): 2 packages (detail see file E:\aPritice\appelectronnfc\node_modules\.recently_updates.txt)
√ All packages installed (118 packages installed from npm registry, used 54s(network 18s), speed 1.24MB/s, json 111(212.28kB), tarball 21.71MB)

重新编译

$ npm run rebuild

> [email protected] rebuild E:\aPritice\appelectronnfc
> chcp 65001 && electron-rebuild -f -w sqlite3

Active code page: 65001
- Searching dependency tree
× Rebuild Failed

An unhandled error occurred inside electron-rebuild
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(57,5): error MSB8020: The build tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, please install v120 build tools.  Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (E:\aPritice\appelectronnfc\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "E:\\aPritice\\appelectronnfc\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=5.0.1" "--arch=x64" "--dist-url=https://atom.io/download/electron" "--build-from-source"
gyp ERR! cwd E:\aPritice\appelectronnfc\node_modules\buffertools
gyp ERR! node -v v10.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

Failed with exit code: 1

Error: 在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(57,5): error MSB8020: The build tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, please install v120 build tools.  Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". [E:\aPritice\appelectronnfc\node_modules\buffertools\build\buffertools.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (E:\aPritice\appelectronnfc\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "E:\\aPritice\\appelectronnfc\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=5.0.1" "--arch=x64" "--dist-url=https://atom.io/download/electron" "--build-from-source"
gyp ERR! cwd E:\aPritice\appelectronnfc\node_modules\buffertools
gyp ERR! node -v v10.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

Failed with exit code: 1
    at SafeSubscriber._error (E:\aPritice\appelectronnfc\node_modules\spawn-rx\lib\src\index.js:267:84)
    at SafeSubscriber.__tryOrUnsub (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:205:16)
    at SafeSubscriber.error (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:156:26)
    at Subscriber._error (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:92:26)
    at Subscriber.error (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:72:18)
    at MapSubscriber.Subscriber._error (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:92:26)
    at MapSubscriber.Subscriber.error (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:72:18)
    at SafeSubscriber._next (E:\aPritice\appelectronnfc\node_modules\spawn-rx\lib\src\index.js:242:65)
    at SafeSubscriber.__tryOrUnsub (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:205:16)
    at SafeSubscriber.next (E:\aPritice\appelectronnfc\node_modules\rxjs\internal\Subscriber.js:143:22)
npm ERR! code ELIFECYCLE
npm ERR! errno 4294967295
npm ERR! [email protected] rebuild: `chcp 65001 && electron-rebuild -f -w sqlite3`
npm ERR! Exit status 4294967295
npm ERR!
npm ERR! Failed at the [email protected] rebuild script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\zoe\AppData\Roaming\npm-cache\_logs\2019-05-10T03_05_15_050Z-debug.log

出来的,暂且搁置吧,等页面做完了在看这个
后有人告诉我,使用node-gyp进行编译:
编译步骤
保证你下安装了 Python以及c++编译环境,node-gyp 。
1.1:安装 python2.7。python 若是有问题,如果之前安装过多个版本,则必须 npm config set python “/path/python.exe”。必须为2.7版本。
1.2:安装 Visual Studio 2015 ,安装过程中需要安装c++相关,必须安装。
1.3:安装 windows-build-tools。 npm install windows-build-tools -g 。如果npm 不行,运行 cnpm install windows-build-tools -g。 windows build 错误时,需要重新安装vs2015。
1.4:安装 node-pre-gyp 和 node-gyp。 npm install node-pre-gyp -g npm install node-gyp -g。

npm uninstall node-gyp -g
npm uninstall node-gyp
npm install node-gyp -g

C++的编译环境可运行一条命令:
我是手动下载了Visual stadio的工具,把C++的选了,安装完成

npm install windows-build-tools -g 

第一步:
先在你的项目里面安装npm install sqlite3 -s。
成功之后,在你的node_modules 里面会有一个sqlite3的文件。
里面的这个文件:
node_modules/sqlite3/binding.gyp
就是我们需要编译成electron模块的配置文件。里面有两个变量:module_name、module_path 这个很重要需要我们编译的时候传入。

第二步:
cd到 sqlite3 目录下:
运行:node-gyp rebuild --target=5.0.0 --arch=ia32 --target_platform=win32 --dist-url=https://atom.io/download/atom-shell --module_name=node_sqlite3 --module_path=../lib/binding/electron-v5.0-win32-ia32

上面参数:
target代表你的electron 版本号,默认你的node_modules/下的electron 版本 PS:我的版本是5.0.0。
arch代表你的node位数,PS:我的是32位,64位node写x64。
module_path:这个参数
electron-v5.0-win32-ia32,这个名字需要注意:v5.0是electron版本,ia32 和 arch参数对应。

好,我们运行这条命令

编译成功,会看到在splite3 里面lib包下有:

这个就是我们需要的electron sqlit3 模块;
测试一下:在main.js 添加sqlite3

运行测试一下:

测试成功!!!

参考网址:https://www.cnblogs.com/wyuan-yuan/p/10451156.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zoepriselife316/article/details/89954383

智能推荐

date的before方法_Java Date before()方法与示例-程序员宅基地

文章浏览阅读1.7w次。date的before方法 日期类before()方法 (Date Class before() method)before() method is available in java.util package. before()方法在java.util包中可用。 before() method is used to check whether this date is before the g..._java date before

HTML5+CSS3小结_css text break-程序员宅基地

文章浏览阅读444次。【【【【【【【【【【【【【【【【【【【【【【【HTML5】】】】】】】】】】】】】】】】】】】】】】】】】】】】】-------------------------------------------------------------------------------------------------------------不允许写的结束符的标签:area、basebr、col、co_css text break

逻辑回归python实现_python 逻辑回归-程序员宅基地

文章浏览阅读4.1w次,点赞15次,收藏147次。1.问题使用线性回归怎么解决分类问题?这就是逻辑回归要做的事情,并且逻辑回归可以计算出概率2.模型以及求解(线性)给出一组m个样本数据,每个样本数据有n个特征,并且带有标记0或者1,代表属于哪一类,为了把输入的参数代入到预测函数后始终是一个0到1之间的数,这样我们可以把0,1看做两个类别, 引入sigmod函数 1/(1+e^-t) 这个函数的函数值始终是在0到1之间让s..._python 逻辑回归

TS解扰速率计算公式备忘_lc ts 解扰-程序员宅基地

文章浏览阅读1.7k次。 今天经理想了解解扰速率的计算方式,自己用笔在草纸上划了半天才回忆起来。把推导的过程记录下来,做为备忘。 解扰器的输入时钟一共2个,分别为27MHz的TS_IOCLK和81MHz的TS_DCLK。前者是解扰器接收TS输入的时钟,每一个有效的时钟周期接收一个字节的数据;后者是解扰器对TS数据进行解扰的时钟,之所以取值81MHz是因为在实现过程中要使用FPGA的PLL倍频获得较高速的解扰时钟,故选用27MHz*3。 为了满足45Mbps的解扰速率,要计算一下_lc ts 解扰

AIX5.3安装ssh _ssh for aix5.3-程序员宅基地

文章浏览阅读826次。AIX5.3安装ssh 我实在不能理解为何aix竟然不把ssh作为缺省配置的软件,还要自己独立安装,而且ibm的网站竟然还不提供相关软件(需要到sourceforge.net/projects/openssh-aix下载)。 好在安装倒也不是难事。1、下载 需要如下四个包(我的版本是下面文件) _ssh for aix5.3

FCSC 2020 CTF 代码混淆逆向题 Keykoolol 的 writeup_xn--%20%20%20%20%20%20%20%20%20mc-c%20-cccc-c-%20c-程序员宅基地

文章浏览阅读1.1k次。通过基于虚拟机的混淆保护了keygenme,这是一种基于Miasm动态符号执行(DSE)的解决方案,可自动反汇编VM字节码。几周前,我参加了法国网络安全挑战赛(简称FCSC)。由法国国家网络安全局(ANSSI)组建的Jeopardy CTF,以选择将在2020年底参加欧洲网络安全挑战赛(ECSC)的法国团队。在提出的挑战(加密,反向,pwn,网络,取证,硬件)中,我真的很喜欢做一个名为keykoolol的反向追踪。挑战的目的是分析一个以用户名和序列作为输入的二进制文件,并为其编写一个密钥。然后,_xn--%20%20%20%20%20%20%20%20%20mc-c%20-cccc-c-%20c%20ccf%20cccoolollllll

随便推点

无法同步谷歌日历_安卓手机的日历App之选择、使用(附记:纪念日App)-程序员宅基地

文章浏览阅读1.8k次。=======友好提醒=======★本文为不负责任的自我主观测评,仅代表本人颜控日常需求。★本文涉及的ios系统(兼)App,不代表本人的ios日历App择用。★本文涉及的App排序不代表排名,但个人喜好突出。★本文所用的App无下载链接,均来自于自带手机的应用市场。★本文涉及的App多、内容多、图片多(极力缩减合并同类项了),无流量的,请慎看。★本文涉及的vivo手机和App仅代表本...

学习Python和机器学习的几个不错网址_学习python的网站-程序员宅基地

文章浏览阅读5.8k次,点赞6次,收藏32次。为了理解和应用机器学习技术,你需要学习 Python 或者 R。这两者都是与 C、Java、PHP 相类似的编程语言。但是,因为 Python 与 R 都比较年轻,而且更加“远离”CPU,所以它们显得简单一些。相对于R 只用于处理数据,使用例如机器学习、统计算法和漂亮的绘图分析数据, Pthon 的优势在于它适用于许多其他的问题。因为 Python 拥有更广阔的分布(使用 Jango 托管网站,自_学习python的网站

Dataset和DataLoader;pytorch-lightning、pytorch训练代码大概流程_dataset pytorch lightning-程序员宅基地

文章浏览阅读3.3k次。1、Dataset和DataLoader1)Dataset类,构建数据,需要重写__len__和__getitem__这两个函数2)DataLoader,迭代器,加载Dataset数据把分batch用作模型输入import torchimport torch.utils.data.dataset as Dataset#引入DataLoader:import torch.utils.data.dataloader as DataLoaderimport numpy as np Data = _dataset pytorch lightning

[蓝桥] 算法训练 P0505-程序员宅基地

文章浏览阅读155次。时间限制:1.0s 内存限制:256.0MB  一个整数n的阶乘可以写成n!,它表示从1到n这n个整数的乘积。阶乘的增长速度非常快,例如,13!就已经比较大了,已经无法存放在一个整型变量中;而35!就更大了,它已经无法存放在一个浮点型变量中。因此,当n比较大时,去计算n!是非常困难的。幸运的是,在本题中,我们的任务不是去计算n!,而是去计算n!最右边的那个非0的数字是多少。例如,5!=12345..._castles蓝桥

Jenkins:Linux下安装部署步骤-程序员宅基地

文章浏览阅读909次。Jenkins:Linux下安装部署步骤 【转载:https://www.cnblogs.com/code-juggler/p/9177805.html】1. 准备环境  首先,需要jdk是必须要安装好的。本人使用的linux是centos,直接使用yum安..._shutting down jenkins [failed] starting jenkins running from: /usr/share/jav

HDU 2620 Ice Rain 余数的性质_ice rain------i was waiting for a girl, or waiting-程序员宅基地

文章浏览阅读149次。Problem DescriptionIce Rain------I was waiting for a girl, or waiting for been addicted to the bitter sea. Love for irrigation in silence. No one considered whether the flowers came out or wither. L..._ice rain------i was waiting for a girl, or waiting for been addicted to the