electron-rebuild编译node-ffi遇到的坑(node-gyp)

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

clipboard.png

一、由于以前下载过windows-build-tools因此python 和 vs2015是有安装的,因此不在安装
以管理员身份运行命令行 执行 npm install --global windows-build-toolspython

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

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

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

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

python问题

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

clipboard.png

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

clipboard.png

clipboard.png

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

node-gyp问题

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

clipboard.png

有了python的设置经验,这个彻底没什么难度
上图spa

clipboard.png

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

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

"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下,致使编译的时候找不到依赖树,被本身蠢哭了

clipboard.png

electron 5.x 编译失败

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

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

相关文章
相关标签/搜索