码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Electron】在 WSL2 中 打包 electron Linux 版本应用及运行


    【Electron】在 WSL2 中 打包 electron Linux 版本应用及运行

    打包 electron 应用

    安装 WSL

    我使用的是 Ubuntu 20.04.4 LTS 的版本。

    安装 WSL 文档地址:https://docs.microsoft.com/zh-cn/windows/wsl/install。

    也可以自行百度,这里就不多述了。

    安装 NVM

    我选择先安装 nvm 的方式来安装 Node 环境,比较容易管理,也方便有需要的时候切换各种版本。

    通过下面的脚本安装

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    

    可以从 nvm 的 github 上找到最新的命令,https://github.com/nvm-sh/nvm

    安装 Node 环境

    使用 nvm 的命令 安装 node 环境

    nvm install 14.*.*
    nvm use 14
    
    # PS 如果 npm 执行到的目录不对,可能执行到了 windows 中环境的目录
    # 可以再执行 nvm use xx 来临时解决
    

    获取代码

    在我里这用的是我自己的架子,全当一个参考吧。

    github:https://github.com/gaoshang212/electron-vite-react-typescript

    git clone https://github.com/gaoshang212/electron-vite-react-typescript
    

    安装 vscode 插件 Remote - WSL

    为了方便在 vscode 中直接修改操作 wsl 中的文件。

    我使用 Remote - WSL 这个插件,可以直接在vscode 修改代码,执行命令行。

    插件地址:https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl

    安装好插件,我们就可以在 wsl 中直接执行 code . 来打包 vscode 操作了

    remote-wsl-open-code.gif

    打包

    我这里只打包了 deb 和 appImage 的包,用的打包模块是 electron-builder 。

    直接执行下面的命令来打包

    npm run package
    

    PS:如果打包 deb 报错,可以设置一个下 export DEBUG=”electron-builder”,查一下输出。

    我里碰到的是 缺少 “ar”,只要通过 sudo apt install binutils 安装一下,就 OK 了。

    打包结果:

    执行验证

    安装 VcXsrv

    PS:如果你的系统是 Windows 11,内部版本是 22000 或更高,你也可以试试 还 GUI 的 WSL。https://docs.microsoft.com/zh-cn/windows/wsl/tutorials/gui-apps

    下载 VcXsrv ,https://sourceforge.net/projects/vcxsrv/

    然后安装就好了。启动 XLaunch。

    选择一个喜欢的方式

    选择下一页 → Start no client → 下一页 → 勾选 Disable access control → 下一页 → 完成。

    配置 WSL2

    修改 ~/.bashrc 文件,添加下面的代码

    export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 # in WSL 2
    export LIBGL_ALWAYS_INDIRECT=true
    

    执行下面命令应用

    source ~/.bashrc
    

    验证打包应用

    进入 releases 目录,可以直接执行 appImage 文件。

    cd releases
    ./electron-vite-react-typescript-0.0.1.AppImage
    

    遇到问题

    执行文件时遇到的几个报错

    • 报错:error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file: No such file or directory
      • 安装 apt install libatk-bridge2.0-0
    • 报错:error while loading shared libraries: libgtk-3.so.0: cannot open shared object file: No such file or directory
      • 安装 apt install libgtk-3-0
    • 报错:error while loading shared libraries: libgbm.so.1: cannot open shared object file: No such file or directory
      • 安装 apt install libgbm-dev
  • 相关阅读:
    006_Makefile Study(1)
    MySQL 8.0.18 重新初始化
    深入理解MySQL分区表原理与企业级实战
    三大零知识(ZK)证明系统全面深度分析:STARKs SNARKs Bulletproof
    pdf增强插件 Enfocus PitStop Pro 2022 mac中文版功能介绍
    如何搭建自己的图床
    QT学习笔记-QT访问各种关系数据库笔记汇总
    【思科、华为、华三这三大认证,选哪个考最好?】
    文字处理控件TX Text Control迎来2022年第一版重大更新x30版本,一起来看看都有哪些特色功能吧
    C语言switch语句判断星期
  • 原文地址:https://www.cnblogs.com/gaoshang212/p/16206043.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号