关于electron使用oracledb报错NJS-045

关于electron使用oracledb

报错内容:
Error: NJS-045: cannot load a node-oracledb binary for Node.js 12.xx.x (win32 x64)
…/dist_electron\node_modules\oracledb\build\Release\oracledb-5.0.0-win32-x64.node,
…/dist_electron\node_modules\oracledb\build\Release\oracledb.node

关于这个问题up主找了2天,各种方法试了之后终于回到了报错信息上,原来是oracledb的包中,引用oracledb依赖的路径有点问题。

我的环境

环境 vue-cli4 + vue-cli-plugin-electron-builder
启动 yarn electron:serve

解决方法

看了错误定位的oracledb包,发现个issue链接
原来这个问题已经困扰了这么多人,因为我是多了一级,所以对oracledb/lib/oracledb.js文件做了修改

最后两行的./node_modules/改成 ../node_modules/

// node_modules/oracledb/lib/oracledb.js
const binaryLocations = [
  '../' + nodbUtil.RELEASE_DIR + '/' + nodbUtil.BINARY_FILE,  // pre-built binary
  '../' + nodbUtil.RELEASE_DIR + '/' + 'oracledb.node',       // binary built from source
  '../build/Debug/oracledb.node',                             // debug binary
  // For Webpack.  A Webpack copy plugin is still needed to copy 'node_modules/oracledb/build/' to the output directory
  // See https://github.com/oracle/node-oracledb/issues/1156
  '../node_modules/oracledb/' + nodbUtil.RELEASE_DIR + '/' + nodbUtil.BINARY_FILE,
  '../node_modules/oracledb/' + nodbUtil.RELEASE_DIR + '/' + 'oracledb.node'
];

最后:欢迎大家来讨论Electron碰到的问题

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值