最近在国产银河麒麟系统上开发一个 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
版权声明: 转载请注明出处.