光是编译serialport就花费了我4天时间,以此激励蠢笨的我
前言
我在网上也查了很多资料,但是总是编译不成功,编译总会报错
本文假设你已经安装了nodeJs,这个很简单,去官网下载,稳定版和最新版,看你个人喜欢
现在开始
1.准备工作,工具
目前就下面这几个,已经够用了
- node & npm
- python2.7 只能是python2.7
- 建议使用Git,没有Git 也可以直接下载压缩包
- vs2015
- windows sdk 8.1
2.安装electron 项目
首先从github上面下载项目下来,进入你的项目根目录,打开命令行执行以下命令
git clone https://github.com/electron/electron-quick-start
若果没有安装Git 或者不想安装Git 也可以直接转到github 下载压缩包
项目更新下来后
cd electron-quick-start
现在就可以使用 npm install 来安装electron了,但是也可以放到后面执行,这个无所谓
4.现在开始安装需要用到模块
-
node-gyp 全局安装 方便cmd 使用
npm install -g node-gyp
-
node-serialport
npm install serialport --save-dev
-
electron-rebuild 第一种不行 就用第二种
npm install electron-rebulid || npm install --save-dev electron-rebuild
如果在安装这些东西的时候出现报错的情况,大致以下两种解决方案:
a). 更换质量更好的网络
b). 执行命令 npm cache clear --force
清除一下缓存 再重新安装 就好了
4.开始编译
现在我们基本的东西都准备好了,开始编译,网上有很多方法,命令来编译,但是我编译的时候就会报错,比如:
-
node-gyp rebuild
执行这条命令的时候我报了个错:说什么根目录下 bindings.gyp 文件 not found 我一看确实没有这个文件啊,然后继续往下看错误信息,他会提示你 让你重新npm install
或者npm rebuild
, 但是操作过后还是报相同的错误,哎,此路不通啊,没关系我们再换下第二种方法 -
.\node_modules\.bin\electron-rebuild.cmd
这个方法倒是没有报binding.gyp 文件不存在了,但是又报 ‘windows sdk 8.1 ’ 又找不到了,同事说win10的应该可以,就花了3个G的流量安装了一个 sdk10,发现还是不行。当然不行啦!人家要的是8.1的,你非要给10的,就像我明明买得 Mate20 Pro 你非要给我Mate20 ,你这不是找抽吗
2.1 这里如果报了这种错误
可以根据上面红框的提示来找到node_modules这个路径,即可解决:
.\electron-rebuild.cmd --module-dir ../../
-
如果有相同报错的同学,可以点这里下载对应的Windows-Sdk 版本 ,下载完后,傻瓜式安装就行,全都用默认的就 ok
-
费尽千辛万苦终于把 SDK 8.1 这个问题解决了,But,但是,又给我报 vs2015
cl.exe已退出代码为5
的乱码,一个串口怎么这么多问题啊,上网查资料:有说项目路径不对的,还有说没有权限的 ~~?,反正没解决,具体过程忘了,划重点:后来我在vs2015里面安装了一个VC++项目的构建工具 ,就好了 -
重新执行
.\node_modules\.bin\electron-rebuild.cmd
哦,不对,因为之前这个命令报错,所以 后来我又换了一种.\node_modules\.bin\electron-rebuild -v 5.0.6
5.0.6是你当前electron的版本号,可以在package.json里面看见
6.执行到这一步,node-gyp 好像没什么鸟用啊,大家可以把它卸了,嘿嘿嘿!
总结
1.安装这个就不说了,python2.7 , serialport electron-rebuld,只是执行命令下载下来
2.编译,报错的时候,一般都会提示你 缺少什么东西,比如缺少python2.7 ,那么你就去安装python2.7,sdk版本不对 你就去安装对应的sdk
3.希望我们都能少踩点坑,这东西足足花了我4天,4天,4天啊,不说了,我要开始用了
4.再说一句,别放弃,致自己