ffi-napi安装使用 问题记录 node-gyp

  1. 第一步先安装 npm install -g node-gyp 这个软件是node下,用来编译node插件软件,也就是我们要安装的ffi-napi的,因为ffi-napi是调用c++,所以这个软件,在不同平台,linux,windows,肯定要不同的代码才行,但是npm 不可会按不同的系统,下载不同的软件。所以要在不同的平台进行编译源代码才行。
  2. 第二步,在windwos下安装c++环境,就安装最高版本的visual studio的c++环境就好了,ffi-napi的主页都有写。然后还要安装最高级版本的python,不用安装低级的,这个软件一直有人维护的。因为python代码写的快,ffi-napi的windows维护者偷懒了吧,还要安装个python。
  3. 第三步就是,执行 npm i ffi-napi,安装,其实也是编译,执行这个安装,他会自己利用平台上的c++库进行编译。其实编译一次过后,可以把node_moudles下的ffi-napi复制备份,下次不用安装c++环境也行。注意,pnpm,yarn和npm没有区别,用啥都要这么做。

以下是安装使用过程中可能出现的问题:

  1. 注意:不要使用网上普遍的 windows-build-tools 命令安装 c++环境,这个早多年都没人维护了,你安装他,还要降级各个软件,够够的。
  2. 还有, js var libm = ffi.Library('libm', { 'ceil': [ 'double', [ 'double' ] ] }); 官网的这段代码是有问题的,windwos下不能执行,无法识别libm,只能用dll文件的绝对目录,或者相对目录才行。还有,如果你的dll文件,如果引用了别的dll文件,也要注意相对路径的问题,否则会报 126什么的错误。
  3. 还有一个问题,如果你的电脑系统是盗版的,可能安装visual studio这一步就会卡住。。。。
  4. 如果程序死循环了,程序会直接结束,不会报错。
    新:
  5. 24年最新的10.1.0版本,在windows上安装,需要Spectre 库,我也不知道什么玩意,但是默认这个不被安装的。需要到vs instanller里单独安装,给个安装方式的链接,https://learn.microsoft.com/zh-cn/visualstudio/msbuild/errors/msb8040?view=vs-2022; 如果不想安装这个Spectre 可以用之前的版本的node-gpy。
  6. 安装目录与版本问题:一. visual studio 安装的sdk目录不是默认的,可能会导致node-gyp识别不到,修改目录需要先卸载,然后删除visual studio 的相关注册表,\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup;二. 使用nvm切换了环境,可以再使用别的版本的node重新安装node-gyp试试看(npm uninstall -g node-gyp 卸载)。做完这两个操作,如果发现不行,别急,先重启一下试试看。

本人平时开发node addon比较多,遇到相关问题都会更新这篇博客,大家有需要可以关注一下这篇博客哦,也可联系我lanptt@qq.com
其它推荐:
filecat地址 ; 我最近做的一个运维工具。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值