错误:在渲染器中加载非上下文感知本机模块:@serialport\bindings\build\Release\bindings.node'
Posted
技术标签:
【中文标题】错误:在渲染器中加载非上下文感知本机模块:@serialport\\bindings\\build\\Release\\bindings.node\'【英文标题】:Error: Loading non-context-aware native module in renderer: @serialport\bindings\build\Release\bindings.node'错误:在渲染器中加载非上下文感知本机模块:@serialport\bindings\build\Release\bindings.node' 【发布时间】:2020-12-02 05:34:21 【问题描述】:我是电子和串行端口的新手。我开始了一个简单的节点项目,刚刚安装了电子和串口,一切都很好,但是当我使用let serialport = require('serialport')
时,它给出了上述错误。我什至没有在 index.html 页面的 javascript 中使用第二行代码。
我已经尝试并搜索了很多次它的解决方案,但找不到它。
我什至在https://github.com/electron/electron/issues/18397
"dependencies":
"electron": "^9.2.0",
"serialport": "^9.0.1"
如果我使用 app.allowRendererProcessReuse = false 它给出了以下错误
Uncaught Error: The module '\\?\D:\newutkal\node_modules\@serialport\bindings\build\Release\bindings.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 80. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
我也试过npm install
但同样的错误。
请用简单的步骤解释它的解决方案(如果可能的话,用编码术语)。
感谢您关注这个话题。 :)
【问题讨论】:
【参考方案1】:如electron guide-installation 中的串行端口文档中所写:
运行 npm install --save-dev electron-rebuild
2.将 electron-rebuild 添加到项目的 package.json 的安装钩子中
3.运行
npm install
如果你有 在 Windows 上遇到问题,请尝试:.\node_modules.bin\electron-rebuild.cmd
【讨论】:
以上是关于错误:在渲染器中加载非上下文感知本机模块:@serialport\bindings\build\Release\bindings.node'的主要内容,如果未能解决你的问题,请参考以下文章
本机库 sqljdbc_auth.dll 已在另一个类加载器中加载
在 HikariConfig 类加载器或线程上下文类加载器中加载驱动程序类 com.mysql.cj.jdbc.Driver 失败
分析进程中加载的本机 DLL 和程序集的内存占用的工具?