周末快速浏览了 Electron 文档,可以确定使用 Electron 解决我司需求的方案可行
最开始障碍还是开发环境搭建,每开始一个新开发方式,最初始环境问题都很头痛:
1. NodeJS
升级问题
安装 Electron 要升级 node。常规操作,感觉很容易,结果多次升级没有成功。网上升级方案 90% 为安装 node 版本管理工具 n
,通过 n
切换 node 版本。尝试多次都切换不了,改 .bashrc
也无效。最后,通过 brew
升级成功 。过程已不是一帆风顺,先要升级 Homebrew,升级完成后执行 brew upgrade node
报错。再根据提示,最后通过 brew postinstall node
完成了升级:
brew uninstall node
brew update
brew upgrade
brew cleanup
brew install node
sudo chown -R $(whoami) /usr/local
brew link --overwrite node
brew postinstall node
2. Electron
安装问题
node 升级成功,继续安装 Electron,这次安装过程一切顺利,提示也是安装成功。实际结果运行确是报错:“Electron failed to install correctly, please delete node_modules/electron and try installing again”。
尝试了无数次删除重装终于明白这句话就是无用的公关文案。搜索后发现非常多人都遇到同样问题,且每个人的解决方案都不同,主要包括:改淘宝源、降低 Electron 版本、手动下载压缩包解压到指定路径等。
目前暂都对我无效,仍在寻找其他方案
3. Xcode
安装问题
Electron 编译需要依赖 Xcode,而之前因为硬盘有限(128G)被迫卸载了 Xcode。现在 19 G 空间安装 Xcode 提示硬盘空间不足。
-
把不需要的文件、软件清理掉了,又通过 CleanMyMac X,释放到 30G 空间。App Store 安装 Xcode 仍提示硬盘空间不足。
-
按照网友解决方案,尝试手动下载
Xcode_12.5.1.xip
安装。访问对应地址时,需要 Apple ID 登录。结果登录成功后,又提示账号异常,无法进入下载页 -
通过邮件联系客服,一天后恢复账号,终于手动下载 Xcode 成功。一安装还是提示硬盘空间不足,白折腾
-
诸如清理
~/Library/Developer/Xcode/iOS DeviceSupport/
、~/Library/Caches/storedownloadd
等目录、dd if=/dev/zero of=~/hugefile bs=100m
欺骗清除 APFS 卷宗都是行不通,仍在寻找其他方案
两天后… 经过各种尝试,终于把 [electron-quick-start]运行成功:
解决 Electron
安装问题:手动下载 + 修改 install.js
源码
-
访问:github.com/electron/electron/releases
-
下载对应版本压缩包:macOS 对应 [electron-v13.1.7-darwin-x64.zip]
-
进入
node_modules/electron
目录下(执行过安装才会有此文件件) -
将压缩包复制到项目
node_modules/electron
下(执行过安装命令会生成此目录) -
编辑
install.js
:
// 注释掉文件下载代码段:
// // downloads if not cached
// downloadArtifact({
// version,
// artifactName: 'electron',
// force: process.env.force_no_cache === 'true',
// cacheRoot: process.env.electron_config_cache,
// platform: process.env.npm_config_platform || process.platform,
// arch: process.env.npm_config_arch || process.arch
// }).then(extractFile).catch(err => {
// console.error(err.stack);
// process.exit(1);
// });
// 加入文件提取执行代码:
extractFile("./electron-v13.1.7-darwin-x64.zip");
-
终端执行
node install.js
(没有任何提示) -
退回到项目根目录,验证是否安装成功:
npx electron -v
解决 Xcode
安装问题:扩容
这个参考意义就不大,我的本是 14 年的 MacBook Pro,支持 SD 卡槽。束手无策的情况下使用了 Transcend 扩容卡,再去 App Store 安装 Xcode 就安装成功了。
不能 100% 确定这次安装成功是否为扩容卡的作用,非必要请谨慎尝试。