继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Electron failed to install correctly

王益达
关注TA
已关注
手记 38
粉丝 104
获赞 632

周末快速浏览了 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 源码

  1. 访问:github.com/electron/electron/releases

  2. 下载对应版本压缩包:macOS 对应 [electron-v13.1.7-darwin-x64.zip]

  3. 进入 node_modules/electron 目录下(执行过安装才会有此文件件)

  4. 将压缩包复制到项目 node_modules/electron 下(执行过安装命令会生成此目录)

  5. 编辑 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");
  1. 终端执行 node install.js (没有任何提示)

  2. 退回到项目根目录,验证是否安装成功:
    npx electron -v

解决 Xcode 安装问题:扩容

这个参考意义就不大,我的本是 14 年的 MacBook Pro,支持 SD 卡槽。束手无策的情况下使用了 Transcend 扩容卡,再去 App Store 安装 Xcode 就安装成功了。
不能 100% 确定这次安装成功是否为扩容卡的作用,非必要请谨慎尝试。

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP