节点模块版本不匹配:预计50

Alf*_*lfo 11 node.js electron

我遇到过这个问题,从全新安装的Node和npm开始,serial port在Hello World Electron软件包中,软件包不会加载以下错误:

在此输入图像描述

我在Node版本6.6.0和NPM版本3.10.7和OS X 10.11.6上.

我想看看我是不是已经过时了,但看看这个列表,我找不到任何模块版本为50的东西.这是一个错误吗?

我试过npm rebuild,除了删除模块和重新安装,但没有骰子.

更新:即使我运行node -v它打印v6.6.0,process.versions.node在Web控制台中运行给了我v6.5.0.这里发生了什么?

Aur*_*001 15

这是一个已知问题,该问题是由serialport使用为不同版本的Node构建的本机代码的模块引起的.如果您有兴趣,可以在这里阅读更多关于插件的内容; 它们只是用C/C++编写的模块,可以与Node连接,因此模块可以更容易地与硬件连接.

该问题提出的解决方案是:

npm rebuild --runtime=electron --target=1.2.5 --disturl=https://atom.io/download/atom-shell --build-from-source
Run Code Online (Sandbox Code Playgroud)

如果尚未安装electron-rebuild,则可能有助于确保重建过程正常运行:

npm install --save-dev electron-rebuild
Run Code Online (Sandbox Code Playgroud)

即使我运行节点-v它打印v6.6.0,在Web控制台中运行process.versions.node给了我v6.5.0.这里发生了什么?

Electron使用其自身版本的Node未连接到您的系统节点安装(请参阅主页以查看最新Electron使用的节点版本,或使用process.versions.node,就像您在问题中所做的那样).

您可以尝试旧版本(可能是1.1.0,使用Chrome 50?),以防出现问题.

  • 谢谢.我将我的电子版本更改为1.3.1(正确安装的最低版本)并运行`npm rebuild --runtime = electron --target = 1.3.1 --disturl = https://atom.io/download/atom -shell --build-from-source`现在一切正常. (2认同)