nodejs 编译原生模板报node_module_version 版本不一致问题

最近想使用nodejs 全局监控鼠标、键盘按下的操作进行pc端应用埋点
我找到了https://github.com/wilix-team/iohook
然后在项目里面找到examples/node 模板 ,安装完依赖后,发现跑不起来

img

因为涉及原生模板,我尝试使用npm rebuild --abi=87 发现不行,我觉得问题应该是原生模块要求的nodejs版本比较高,查了一个,node abi 为87的对应nodejs版本是不存在的, nodejs 15.0 开始的abi是88 ,根本找不到87的abi映射

谁能将下面的代码安装依赖并跑起来发我,则万分感激
https://github.com/wilix-team/iohook/tree/master/examples/node

重新安装使用cnpm install canvas(不要使用npm或yarn安装,安装过几次都失败了)

  或者从 https://github.com/node-gfx/node-canvas-prebuilt/releases直接下载编译好的包,替换掉 buildRelease

说明:

  NODE_MODULE_VERSION 83对应nodejs版本为Node.js 14.X

  NODE_MODULE_VERSION 72对应nodejs版本为Node.js 12.X

NODE_MODULE_VERSION指的是Node.js的ABI(application binary interface)版本号,用来确定编译Node.js的C++库版本

nodejs同NODE_MODULE_VERSION对照

其实吧,埋点一般都是后台来做的,比如提供了一个方法,用户统计用户访问的,后端提供个方法,你js文件调用下,然后全局使用。至于一些操作记录这个后端能自己实现,无需前端干预。