在Electron应用程序中安装oracledb时会出现证书错误

我正在运行Windows 7的oracledb v1.10.0,电子预构buildv1.2.2,电子重buildv1.1.5,节点v0.12.7和npm v2.11.3。 当我执行node_modules/.bin/electron-rebuild -f -w oracledb ,我收到以下错误:

 gyp ERR! stack Error: certificate not trusted gyp ERR! stack at Error (native) gyp ERR! stack at TLSSocket.<anonymous> (_tls_wrap.js:929:36) gyp ERR! stack at TLSSocket.emit (events.js:104:17) gyp ERR! stack at TLSSocket._finishInit (_tls_wrap.js:460:8) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! command "node" "H:\\electron-quick-start\\node_modules\\electron-rebuild\\node_modules\\npm\\node_modules\\node -gyp\\bin\\node-gyp.js" "install" "--target=1.2.7" "--arch=x64" "--dist-url=https://gh-contractor-zcbenz.s3.amazonaws.co m/atom-shell/dist" gyp ERR! cwd H:\electron-quick-start gyp ERR! node -v v0.12.7 gyp ERR! node-gyp -v v3.4.0 gyp ERR! not ok 

我怎样才能得到这个命令成功执行?

这似乎是模块没有自行注册。 在Windows上,“节点”实际上是一个调用iojs的batch file,本地模块不喜欢这个。 您需要将您的iojs可执行文件复制到“节点”以满足本机模块。

现在,我不清楚你的尝试。 但是如果你想利用Electron内部的本地模块,你将需要在Electron includes / header上构build你的本地代码,而不是那些iojs。 你可以看看这个命令语法的例子:

 node-gyp rebuild --target=0.22.3 --arch=ia32 --target_platform=win --dist-url=https://atom.io/download/atom-shell 

我得到的证书错误是由于在Windows下的企业防火墙后面。 为了解决这个问题,我从https中删除了s,这样dist-url的值就变成了http://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist 。 我得到的另一个错误是(如@Thennarasan提到)“模块没有自我注册”,并解决了我称之为以下命令,它的工作原理:

 PS H:\electron-app> cd node_modules\oracledb PS H:\electron-app\node_modules\oracledb> node-gyp rebuild --target=1.2.8 --arch=x64 --target_platform=win --dist-url=http://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist --msvs_version=2013 PS H:\electron-app> cd ..\.. 

我从这个Github问题得到了帮助https://github.com/electron/electron/issues/1529