node-serialport是一个让node可以访问电脑串口设备的原生模块
windows下我的环境:
1.node-gyp6.0.0
2.python2.7
3.VS2015
4.eletron3.1.12
5.serialport7.1.5
一切准备就绪后,直接使用const Serialport = require(‘serialport’)
报错
报错信息:A dynamic link library (DLL) initialization routine failed.
根据electron文档里的解决办法:The node-gyp Way(其他的试了没解决)
在bindings文件夹下:npx node-gyp rebuild --target=3.1.12 --arch=x64 --target_arch=x64 --dist-url=https://npm.taobao.org/mirrors/atom-shell
rebuild成功,但是没解决问题。
之后又找到一个解决办法,将上一个结合修改package.json文件链接中的文件
我的package.json中scripts还需要添加一个"rebuild": “electron-rebuild -v 3.1.12”,如果需要32位的,也加上
没有解决问题,之后
又在一个犄角旮旯地方找到一个方法set npmRebuild flag to false
三个解决办法结合起来,终于解决了,
1.node-gyp rebuild
2.electron rebuild
3.electron build
4.package.json修改
需要注意的是linux下,不需要electron rebuild,其它一致
记录一下
(还尝试过electron降低版本,1.7.12,没有出现上面的问题,serialport完美使用,升高版本6.0.0也是上面的问题)