使用electron和node-serialport的环境搭建过程
项目运行所需环境
1,必须安装nodejs
附上node下载地址-Nodejs
node安装过程简单, 一直next就行了,我安装的版本是12.16.1,可以在powershell中通过 node -v来查看当前版本

2,安装nod-gyp
node-gyp是用来编译c++模块的工具,这里用来编译serialport,
node-gyp的github文档-node-gyp文档
全局安装 npm install -g node-gyp
来看这一段来自官方文档的说明

大致意思就是有两种方案:
一种是下载windows-build-tools,通过命令npm install --global --production windows-build-tools,但是要注意
的是必须以管理员的身份启动CMD窗口或者是PowerShell窗口,这种方案下载的东西较少
还有一种是要下载Visual Studio和python,这种方案下载的东西就很多了,但是我以前电脑装过VisualStudio并且以后或许会用到
所以我选了第二种方案
3、安装visual studio 2017
附上visual studio下载地址Visual Studio 2017 Community
安装VS的时候选项如下,要勾选使用c++桌面开发,node-gyp文档上也有提示


安装完成之后执行一下命令
npm config set msvs_version 2017
4、安装python2.7
附上python下载地址-Python2.7x

python安装注意版本要下载相应的版本 百度了一下说python3.x不支持,为了避免不必要的问题干脆直接装python2.7,
具体安装过程记不清了,网上教程很多,大同小异,照着过程安装一遍就行。
安装完成之后执行命令
npm config set python python2.7
可以在powershell中使用命令python --version来查看安装好的版本

项目的安装与使用
clone到本地
git clone https://github.com/BaiFangZi/electron-serialport.git
切换到项目目录
cd electron-serialport
下载相应的依赖
npm下载由于网速或者被墙会造成下载失败,到这一步会卡住,推荐使用cnpm

npm install或者cnpm install
下载成功后的提示信息

由于node版本和electron版本不匹配,所以直接启动会报错,这个时候要执行下面这两个命令来解决这个问题
cd ./node_modules/@serialport/bindings
node-gyp rebuild --target=6.0.10 --arch=x64 --dist-url=https://npm.taobao.org/mirrors/atom-shell
然后再返回根目录 cd ../../../
启动项目 npm start
项目打包生成exe文件
我使用的是electron-builder来打包 打包命令
npm run dist
在package.json文件中可以更改build属性来配置相应的打包选项
项目打包生成exe文件
我使用的是electron-builder来打包 打包命令
npm run dist
在package.json文件中可以更改build属性来配置相应的打包选项

打包过程极有可能被墙,针对这种情况我们可以复制链接然后在浏览器中下载相应的被墙的文件,再手动添加到目录中

详细过程可以看这篇文章 解决下载依赖出错
build文件夹就是成功打包后的东西,包括安装包等
使用electron和node-serialport的环境搭建过程的更多相关文章
- Linux虚拟机中 Node.js 开发环境搭建
Node.js 开发环境搭建: 1.下载CentOS镜像文件和VMWare虚拟机程序; 2.安装VMWare——>添加虚拟机——>选择CentOS镜像文件即可默认安装带有桌面的Linux虚 ...
- node.js+mysql环境搭建
https://www.jianshu.com/p/9b338095cbe8 node.js+mysql环境搭建 0x01 前言 随着html web技术的发展,和全栈式开发的需求,对于前端人员来讲, ...
- 最简单的SVN环境搭建过程
本文简单描述最简单的SVN环境搭建过程 搭建环境:windows (个人验证了windows2003,windows xp) 使用软件:Setup-Subversion-1.6.17 //Serve ...
- QT5.6.0 VS2013 Win764位系统QT环境搭建过程
QT5.6.0 VS2013 Win764位系统QT环境搭建过程 没用过QT自己跟同事要了安装包,按照同事指导方法操作安装部署开发环境结果遇到好多问题,错误网上搜遍了所有帖子也没有找到合适的解决方案. ...
- 各种版本QT下载地址与VS2013+QT5.3.1环境搭建过程(转)
原文转自 http://blog.csdn.net/baidu_34678439/article/details/54586058 1. 所有Qt版本下载地址: http://download.qt. ...
- Windows下Node.js开发环境搭建
1.http://nodejs.org/下载node.js运行环境安装 2.打开DOS命令行 .安装express框架 1 >npm install express 末尾显示如下为安装成功 .安 ...
- Windows7下的Java运行环境搭建过程图解
第一步:下载JDK 地址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html,(由于Sun于20 ...
- cocos2d-x3.9 NDK android 环境搭建过程中遇到的错误
编译环境:Mac OS, NDK r9d 错误:arm-linux-androideabi-gcc: error trying to exec '/media/Project/adt-bundle-l ...
- WAMP环境搭建过程中遇到的种种问题
1,可以选择已经打包好的继承安装包,通常包含apache,mysql,PHP,phpMyadmin.如appserv和wamp. 2,自己分别安装. 第一步:安装mysql,注意设置root对应的密码 ...
- Forward团队-爬虫豆瓣top250项目-团队编程项目开发环境搭建过程
本次结对编程和团队项目我都需要用python环境,所以环境的搭建是一样的.(本文部分内容引用自己博客:http://www.cnblogs.com/xingyunqi/p/7527411.html) ...
随机推荐
- 解决ionic2/ionic3轮播图切换页面或者点击过后不自动轮图
我们在ionic2/ionic3开发的过程中会出现切换页面或者滑动切换轮播图出现轮播图不再轮播的情况,这其实需要一些配置. 首先在运用到轮播图的component中引入 import {ViewChi ...
- qt creator源码全方面分析(3-3)
目录 qtcreatordata.pri 定义stripStaticBase替换函数 设置自定义编译和安装 QMAKE_EXTRA_COMPILERS Adding Compilers 示例1 示例2 ...
- 细说集群技术(Cluster)
今天本人给大家讲解一些我对集群技术一个理解,如有不对的或者讲的不好的可以多多提出,我会进行相应的更改,先提前感谢提出意见的各位了!!! 集群(Cluster)技术:通过此可以用较低的成本获取较高的性能 ...
- node打开本地应用程序
1.打开浏览器 最简单的方法: const cp = require('child_process') cp.exec('start http://127.0.0.1:8889/'); // 自动打开 ...
- 由世界坐标系转换到摄像机坐标系的lookAt()函数
在学习图形学和opengl的时候,都涉及到坐标转化,从物体坐标转换为世界的坐标,从世界的坐标转换为摄像机的坐标. 在世界坐标到摄像机转换的过程中常用lookAt函数得到转化矩阵.GLM官方文档对它的解 ...
- C++ 指针偏移的理解
//题目:若有程序段int a[5] = { 1, 2, 3, 4, 5 }; int *p = (int *)(&a + 1); printf("%d,%d", *(a ...
- echart图表中legend不显示问题
主要是legend中的name要和series中的name对应上.
- 如何理解SiamRPN++?
如何理解SiamRPN++? 目标跟踪: 使用视频序列第一帧的图像(包括bounding box的位置),来找出目标出现在后序帧位置的一种方法. 孪生网络结构: 在进入到正式理解SiamRPN++之前 ...
- 【Weiss】【第03章】练习3.22、3.23、3.24:无代码题,栈的思考题
[练习3.22] a.提出支持栈的Push和Pop操作以及第三种操作FindMin的数据结构,其中FindMin 返回该数据结构的最小元素,所有操作在最坏情况下的运行时间都是O(1). b.证明,如果 ...
- 【分布式锁】04-使用Redisson实现ReadWriteLock原理
前言 关于读写锁,大家应该都了解JDK中的ReadWriteLock, 当然Redisson也有读写锁的实现. 所谓读写锁,就是多个客户端同时加读锁,是不会互斥的,多个客户端可以同时加这个读锁,读锁和 ...