最近在国产银河麒麟系统上开发一个 im 桌面应用,采用 electron+vue3+vite 技术栈,在安装 electron 过程中发现在银河麒麟 mips 架构上无法安装 electron,因为 electron 官方并没有提供 mips 架构的包,求助龙芯开源社区采用离线安装 electron 才解决这个问题。
正常安装报错
正常安装 electron,执行yarn add electron@10.1.0 -D因为官网不存在这个系统架构的包所以会报错

下载离线安装包
在龙芯开源社区上下载 electron_v10.1.0_kylin_v10(mips 版本),后面要用到
修改源码
这时候打开 node_modules/electron/install.js
找到下载 electron 的地方,如下
// 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);
  });将上述代码注释掉,添加如下代码
// downloads if not cached
extractFile("electron-v10.1.0-linux-mips64el.zip");
// 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);
//   });重新安装
将下载的离线包解压,并重新压缩成 zip 包,重命名为 electron-v10.1.0-linux-mips64el.zip
将重命名的 zip 包放到 node_modules/electron/ 目录下,执行安装命令
cd node_modules/electron
node install.js至此 electron 离线安装完成
参考文章:
原文链接: https://jesse121.github.io/blog/articles/2022/06/15.html
版权声明: 转载请注明出处.