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

时间:2016-07-20 23:07:07

标签: node.js npm electron node-gyp

我使用oracledb v1.10.0,电子预建v1.2.2,电子重建v1.1.5,节点v0.12.7和npm v2.11.3运行Windows 7。当我执行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  

如何才能成功执行此命令?

2 个答案:

答案 0 :(得分:1)

似乎是模块没有自我注册。在Windows上,&#39;节点&#39;实际上是一个调用iojs和本机模块的批处理文件。您需要将iojs可执行文件复制到&#39; node&#39;以及满足原生模块。

现在,我不清楚你的尝试究竟是什么。但是如果您想在Electron中使用本机模块,则需要针对Electron includes / header而不是iojs构建您的本机代码。您可以查看此命令语法的示例:

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

答案 1 :(得分:1)

我得到的证书错误是由于在Windows下的公司防火墙后面。为了解决这个问题,我从https中删除了s,因此dist-url值变为http://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist。我得到的另一个错误是(正如@Thennarasan所提到的)&#34;模块没有自我注册&#34;为了解决这个问题,我调用了以下命令,它起作用了:

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得到了帮助。