在能够正常使用node-ffi的日子里过于膨胀,导致在家使用node-ffi遭到了毁灭性打击,用时5个晚上终于把问题解决了,下面记录一下遇到的坑
1、因为之前下载过windows-build-tools所以python 和 vs2015是有安装的,所以不在安装
以管理员身份运行命令行 执行 npm install --global windows-build-tools
2、安装node-gypnpm 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
所以目前还不支持,你问我前面的时间干嘛? 当然是防止以后一不小心误人子弟呀!
好了,错误总结大会就此告一段落,谢谢大家观看