MixOne是一款基于vite实现的BS(浏览器)+CS(桌面端)跨平台引用(Win、MacOS、Linux)开发脚手架。它不仅是可以构建跨平台的应用,而且本身能安装在跨平台上进行开发。
本文我将会记录在macOS上安装MixOne工具碰到的问题。我的macOS系统是15版本,Node是v20。
一、问题汇总
1. TLS证书错误。
描述:通过 npm install mixone -g 安装不成功!显示TLS证书错误之类的信息"certificate has expired"。
尝试解决:
- 于是我想到可能是npm包的软件源的问题,我就用命令 npm config get registry 查看了安装源地址,发现是 "https://registry.npm.taobao.org/"。(我就纳闷,为什么是淘宝的npm旧镜像源地址,这个地址的https证书早就过期了。我的node安装包是从官网下载的,这么国际化的node怎么内置淘宝旧版源地址而不是官方源(https://registry.npmjs.org/),百思不得其解!但我估计是下载时候官网定位到我的IP是中国的,于是给了我针对中国区的安装包,也或许我进了假官网)。
- 确定软件源有问题了,我就使用 npm config set registry https://registry.npmjs.org 命令更换为新的淘宝npm镜像源。(之前就碰到淘宝旧源证书失效问题,但是后来淘宝出了新的npm镜像源(https://registry.npmjs.org),我之所有继续选择它,是我曾经用它和华为云的npm镜像源对比国速度,它要快太多 )。
- 更换了镜像源,我又继续执行 npm install mixone -g 结果还是尝试多次都什么反映,一直处于安装loading中。我等不了,就 Command( ⌘)+C 取消多次,每一次基本等待大约在6~15分钟。此时已经凌晨12点了。(我甚至怀疑是我的网络不行,但是我执行npm install yarn -g速度又很快。我安装了yarn后我用yarn来全局安装mixone,发现安装成功但是终端命令行执行 mixone -v 不出版本号)
- 终于我找到命令"npm cache clean --force",执行之后,再执行 npm install mixone -g 安装,花费了9分钟,终于安装mixone成功了!但我并不是马上就安装成功的,因为清楚npm缓存后我第一次安装因为没有耐心只等了5分钟就取消了,待我第二次安装的时候就出现如下图上错误,似乎是我已经安装过产生了已存在的文件夹,于是我执行命令 rm-rf /usr/local/lib/node modules/mixone 把提示的目录删除。之后再次执行安装命令,等了9分钟就安装成功了!
2. 安装依赖(npm i)出错。
执行mixone create创建项目并进入目录安装依赖(npm i)出错。如图下图所示。("npm i"是"npm install"的简写)这种情况我是有经验的,我基本确定这就是下载electron失败而导致整个项目的依赖安装不成功。这时候依旧是软件源的问题,electron下载的源地址和npm包的源地址不同,electron官方有一个专门下载electron的地址。有多种配置electron源的方式。我采取的是创建.npmrc文件来解决。

具体操作:
- 创建.npmrc文件。
- 在文件内输入以下内容
jsx
electron_mirror=https://cdn.npmmirror.com/binaries/electron/
electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/
registry=https://registry.npmmirror.com
再次执行"npm install"即可安装成功项目依赖!运行命令"npm run dev"就启动了应用的开发模式。
既然可以运行了,我有试了试 build macOS安装包命令 npm run build:mac ,没碰到任何错误就打包成功了。我从build目录/dist/packager/找到dmg,然后拖进"Application"目录就安装成功了,如下图:

安装后从应用大全中看到了我刚刚安装的应用如下

二、问题总结
- 不管是macOS还是windows上,都要安装node v20及以上的版本。从正规官网下载,使用nvm管理也行。
- 全局安装mixone不成功请先检查npm的软件源是否可以访问。我推荐https://registry.npmjs.org 而不是其他,这个速度更快。
- 更换npm镜像源后请清理缓存 npm cache clean --force 。
- 以上都做到了之后,请确保你的网络畅通,然后执行安装命令耐心等个18分钟以内。
- 安装mixone后,对mixone创建的项目的依赖安装最先在根目录下创建.npmrc文件,内容如上。