electronrebuild编译nodeffi遇到的坑nodegyp

14次阅读

共计 1262 个字符,预计需要花费 4 分钟才能阅读完成。

在能够正常使用 node-ffi 的日子里过于膨胀,导致在家使用 node-ffi 遭到了毁灭性打击,用时 5 个晚上终于把问题解决了,下面记录一下遇到的坑

1、因为之前下载过 windows-build-tools 所以 python 和 vs2015 是有安装的,所以不在安装
以管理员身份运行命令行 执行 npm install --global windows-build-tools

2、安装 node-gyp
npm install -g node-gyp(好吧,本来用 yarn 安装的,后来被整奔溃了,换 npm 好了)

3、好了下来在 node-gyp 目录下创建 binding.gyp 文件,文件和 package.json 同级

// binding.gyp
{
  "targets": [
    {
      "target_name": "binding",
      "sources": ["src/binding.cc"]
    }
  ]
}

npm查看全局安装目录 npm root -g
yarn 查看全局安装目录yarn global dir

python 问题

第一个问题是 python 路径的问题
根据 node-gyp 的提示 设置 python 路径 npm config set python %python%\python.exe(%python% === 你 python 文件安装路径);
你以为这样就完了?

好吧,依然报 python 不存在,好吧!设置环境变量


嗯这样第一个 python 路径的问题就圆满解决了
设置完环境变量记得重启命令行!
设置完环境变量记得重启命令行!
设置完环境变量记得重启命令行!

node-gyp 问题

在看到 python 路径问题后,你还会遇到找不到 `node-gyp 的问题

有了 python 的设置经验,这个完全没什么难度
上图

好了,保存随便找个目录运行 node-gyp build
设置完环境变量记得重启命令行!
设置完环境变量记得重启命令行!
设置完环境变量记得重启命令行!


当你看到这个的时候,就没问题了,好下来我们到目录下开始安装依赖
上配置

  "scripts": {
    "start": "electron .",
    "rebuild": ".\\node_modules\\.bin\\electron-rebuild.cmd"
  },
  "dependencies": {
    "electron": "4.0.0",
    "ffi": "2.3.0",
    "electron-rebuild": "^1.8.5",
    "ref": "^1.3.5"
  }

运行,编译成功

编译时检索不到依赖树

第一次编译的时候在寻找依赖树的时候并没有编译 ffi,当时很纳闷,直到后来终于找到原因,因为刚开始使用 cnpm 所以 –save 的时候并不往dependencies 下插入,所以习惯性的插入到 devDependencies 下,导致编译的时候找不到依赖树,被自己蠢哭了

electron 5.x 编译失败

2019-7-15 22:14 node-ffi目前是不支持 node>10.x; 而electron 用的是 node12 所以目前还不支持,你问我前面的时间干嘛?当然是防止以后一不小心误人子弟呀!

好了,错误总结大会就此告一段落,谢谢大家观看

正文完
 0