错误:在渲染器中加载非上下文感知本机模块:@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 和程序集的内存占用的工具?

在Swift中加载UICollectionView时的加载器/微调器

在 Intern 中加载 Leadfoot 模块会产生错误