需求矛盾:
因需要开发一个electron程序,需要安装nodejs,Win7系统能安装nodejs的最高版本是nodejs13.14.0,但是打包electron程序需要nodejs14以上版本才能编译。解决方法要么重装系统装win10安装新版本nodejs,要么要win7下装nodejs14,因本电脑有多种开发环境,如果重装win10再搭建开发环境很耗时豪力,所以就想在win7中安装nodejs14,经过摸索成功在Win7下安装nodejs14.17.6,分享一下搭建过程。
软件环境:操作系统:Win7 X64 SP1
安装过程:
一、安装nodejs
1、从nodejs官网或镜像站下载nodejs,nodejs14.17.6_X64.zip,注意14.17.6版本是zip包。(经过多次测试,nodejs14.15.1~14.17.6,不推荐安装nodejs14.18以上版本会有问题)
2、解压到任一路径(路径中不能包含中文或特殊字符,例如D:\Program Files\nodejs),解压到此目录即可。
3、配置环境变量
3.1、path变量中加入D:\Program Files\nodejs\
3.2、新建环境变量NODE_SKIP_PLATFORM_CHECK,值为1(不建此变量命令行会提示nodejs需要运行在win8.1以上操作系统提示),见常见问题1
环境变量配置完成后,就可以打开cmd,输入node -v验证是否安装正确,安装正确会显示版本信息。
二、修改npm源(默认使用的是国外源,使用国内源提高下载依赖的速度)
推荐使用华为npm源或腾讯npm源,阿里npm源换了域名,以华为npm源为例
1、第一种修改npm源方式:
在CMD中输入npm config edit命令,或打开C:\Users\Administrator\.npmrc文件编辑,在文件中加入
registry=https://mirrors.huaweicloud.com/repository/npm/
electron-builder-binaries_mirror=https://mirrors.huaweicloud.com/electron-builder-binaries/
chromedriver_cdnurl=https://mirrors.huaweicloud.com/chromedriver/
electron_mirror=https://mirrors.huaweicloud.com/electron/
2、第二种修改npm源方式:
在CMD中输入npm config set 变量 源,按这种方式修改
npm config set registry https://mirrors.huaweicloud.com/repository/npm/
三、安装环境所需要的包
安装以下辅助工具(环境工具)
npm install @vue/cli -g //全局安装vue-cli脚手架,用来生成electron-vue项目或vue项目
npm install electron -g //全局安装electron
npm install electron-build -g //安装electron-build,用来打包electron项目,生成exe文件
npm install cnpm -g //安装cnpm可取代npm,可装可不装
npm install yarn -g //npm助手工具
四、创建一个electron演示项目
新建一个目录(不要有中文),例如R:\electron\ ,打开CMD命令行工具
vue init simulatedgreg/electron-vue demo
根据提示配置需要的项目,一路回车,项目创建完毕
进入demo目录 ,并在目录中安装依赖
cd demo //进入demo目录,当前目录 R:\electron\demo
npm install //安装依赖
npm run dev //运行项目
npm run build //编译项目
运行效果
编译效果
常见问题:
1、命令行执行Nodejs提示,Node.js is only supported on Windows 8.1, Windows Server 2012 R2, or higher.Setting the NODE_SKIP_PLATFORM_CHECK environment variable to 1 skips this check, but Node.js might not execute correctly. Any issues encountered on unsupported platforms will not be fixed.
解决方法:新建环境变量NODE_SKIP_PLATFORM_CHECK值为1
2、npm run build编译electron项目时报,Error: Application entry file "dist\electron\main.js"
原因:.electron-vue\build.js文件中,代码中使用了 Multispinner ,但没有引用并且package.json文件中也没有这个依赖文件。
解决方法:安装multispinner
npm install multispinner -D //开发环境中安装multispinner ,全局安装也会报错
打开项目下 .electron-vue\build.js 文件,在文件第2行加入引用
const Multispinner = require('multispinner')
3、tasks语法错误
原因:tasks多次声明,语法错误
解决方法:
将.electron-vue/build.js文件第37行tasks重命名为tasks1