【问题标题】:Certificate error was raised when installing oracledb in Electron app在 Electron 应用中安装 oracledb 时出现证书错误
【发布时间】:2016-07-24 13:41:29
【问题描述】:

我正在使用 oracledb v1.10.0、electron-prebuilt v1.2.2、electron-rebuild v1.1.5、node 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  

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

【问题讨论】:

    标签: node.js npm electron node-gyp


    【解决方案1】:

    好像是Module没有自行注册。在 Windows 上,“节点”实际上是一个调用 iojs 的批处理文件,而本机模块不喜欢这样。您还需要将 iojs 可执行文件复制到“节点”以满足本机模块的要求。

    现在,我不清楚您到底在尝试什么。但是,如果您想在 Electron 中使用本机模块,则需要针对 Electron 包含/标头构建您的本机代码,而不是 iojs 的那些。您可以查看以下命令语法示例:

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

    【讨论】:

    • 我正在尝试通过我正在构建的 Electron 应用程序连接到 Oracle 数据库。我目前正在使用 oracledb (github.com/oracle/node-oracledb),但我也愿意接受其他选择。
    • 你可以尝试在没有 https 的情况下运行吗http://gh-contractor-zcbenz.s3.amazonaws.co m/atom-shell/dist
    • 如何设置 dist-url?请指教。
    • 为此您必须修改 .npmrc 文件。
    • @Thennarasan 你的意思是在你粘贴的命令中有“call”吗?
    【解决方案2】:

    我收到的证书错误是由于位于 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 获得了帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-13
      • 2023-04-11
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多