node.js - 找不到绑定(bind)文件。在 Electron 环境中使用串行端口时尝试过

标签 node.js binding electron

我正在尝试在 linux ENV 中构建我的 Electron 串行应用程序,首先我用串行端口重建了 Electron electron-rebuild -f -w serialport一切正常,似乎重建成功执行

...

⠸ Building module: bindings, Completed: 0  CXX(target) Release/obj.target/bindings/src/serialport_linux.o
⠼ Building module: bindings, Completed: 0  SOLINK_MODULE(target) Release/obj.target/bindings.node
⠧ Building module: bindings, Completed: 0  COPY Release/bindings.node
make: Leaving directory '/home/party/code/geeCom/node_modules/@serialport/bindings/build'
但是当我通过 webpack 构建我的应用程序并尝试启动它时,我得到了 Could not locate the bindings file. Tried问题。
这是整个错误痕迹
npm start

> gee-com@0.0.1 start /home/party/code/geeCom
> electron ./app/main.js

App threw an error during load
Error: Could not locate the bindings file. Tried:
 → /home/party/code/geeCom/build/bindings.node
 → /home/party/code/geeCom/build/Debug/bindings.node
 → /home/party/code/geeCom/build/Release/bindings.node
 → /home/party/code/geeCom/out/Debug/bindings.node
 → /home/party/code/geeCom/Debug/bindings.node
 → /home/party/code/geeCom/out/Release/bindings.node
 → /home/party/code/geeCom/Release/bindings.node
 → /home/party/code/geeCom/build/default/bindings.node
 → /home/party/code/geeCom/compiled/12.18.3/linux/x64/bindings.node
 → /home/party/code/geeCom/addon-build/release/install-root/bindings.node
 → /home/party/code/geeCom/addon-build/debug/install-root/bindings.node
 → /home/party/code/geeCom/addon-build/default/install-root/bindings.node
 → /home/party/code/geeCom/lib/binding/node-v85-linux-x64/bindings.node
    at bindings (/home/party/code/geeCom/app/main.js:2309:9)
    at Object../node_modules/@serialport/bindings/lib/linux.js (/home/party/code/geeCom/app/main.js:544:91)
    at __webpack_require__ (/home/party/code/geeCom/app/main.js:3713:41)
    at Object../node_modules/@serialport/bindings/lib/index.js (/home/party/code/geeCom/app/main.js:385:22)
    at __webpack_require__ (/home/party/code/geeCom/app/main.js:3713:41)
    at Object../node_modules/serialport/lib/index.js (/home/party/code/geeCom/app/main.js:3507:17)
    at __webpack_require__ (/home/party/code/geeCom/app/main.js:3713:41)
    at /home/party/code/geeCom/app/main.js:3731:20
    at /home/party/code/geeCom/app/main.js:3767:3
    at Object.<anonymous> (/home/party/code/geeCom/app/main.js:3769:12)
A JavaScript error occurred in the main process
Uncaught Exception:
Error: Could not locate the bindings file. Tried:
 → /home/party/code/geeCom/build/bindings.node
 → /home/party/code/geeCom/build/Debug/bindings.node
 → /home/party/code/geeCom/build/Release/bindings.node
 → /home/party/code/geeCom/out/Debug/bindings.node
 → /home/party/code/geeCom/Debug/bindings.node
 → /home/party/code/geeCom/out/Release/bindings.node
 → /home/party/code/geeCom/Release/bindings.node
 → /home/party/code/geeCom/build/default/bindings.node
 → /home/party/code/geeCom/compiled/12.18.3/linux/x64/bindings.node
 → /home/party/code/geeCom/addon-build/release/install-root/bindings.node
 → /home/party/code/geeCom/addon-build/debug/install-root/bindings.node
 → /home/party/code/geeCom/addon-build/default/install-root/bindings.node
 → /home/party/code/geeCom/lib/binding/node-v85-linux-x64/bindings.node
    at bindings (/home/party/code/geeCom/app/main.js:2309:9)
    at Object../node_modules/@serialport/bindings/lib/linux.js (/home/party/code/geeCom/app/main.js:544:91)
    at __webpack_require__ (/home/party/code/geeCom/app/main.js:3713:41)
    at Object../node_modules/@serialport/bindings/lib/index.js (/home/party/code/geeCom/app/main.js:385:22)
    at __webpack_require__ (/home/party/code/geeCom/app/main.js:3713:41)
    at Object../node_modules/serialport/lib/index.js (/home/party/code/geeCom/app/main.js:3507:17)
    at __webpack_require__ (/home/party/code/geeCom/app/main.js:3713:41)
    at /home/party/code/geeCom/app/main.js:3731:20
    at /home/party/code/geeCom/app/main.js:3767:3
    at Object.<anonymous> (/home/party/code/geeCom/app/main.js:3769:12)
结果似乎 serailport pkg 仍然不在 Electron 环境中?
有人有同样的问题吗?你可以和我分享任何修复它的想法吗?

最佳答案

因为我注意到 Electron 尝试在这些路径中查找绑定(bind)文件,所以我复制了构建 bindings.nodegeeCom/build/ ,就可以启动了。但似乎不是一个完美的方法..

关于node.js - 找不到绑定(bind)文件。在 Electron 环境中使用串行端口时尝试过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66651684/

相关文章:

javascript - ElectronJS Webview cookies 没有被清除

node.js - 我们如何添加url参数? (EJS + Node + Express)

javascript - Node fs.readdir 在 Grunt 文件中不起作用

mvvm - UWP MVVMCross 将属性绑定(bind)到方法

java - 异常无法在 JMX 服务器中绑定(bind) URL

electron - 安装与python脚本通信后无法拖动文件

node.js - 为什么我在 Kubernetes 上使用 Axios 时会出现 ENOTFOUND 错误

Node.js - 如何跨平台找到 'desktop'目录路径?

javascript - SAPUI5 通过属性名称从 XML 模型进行绑定(bind)聚合

angularjs - Atom-shell + AngularJS - 如何打开文件保存对话框?