2022-02-05 15:34:47 +08:00

6.3 KiB
Raw Permalink Blame History

Node.js CI wechat-tools nwjs node

项目说明

本项目是一个完整的搭建Linux下可用的“微信开发者工具”的脚本和工具集 用于在Linux下的GNOME桌面上搭建可以持续更新和使用的“微信开发者工具”。 本项目修改自:https://github.com/dragonation/wechat-devtools/

项目地址

进度

当前工具可以在Linux上构筑最新版1.05.2201240截止时间2022年1月26日支持CLI模式现已经有Docker支持仅用于测试。 另现在已经可以直接在设置界面里面修改字体,手工输入字体名称就可以。

使用方法

可以在本项目的发布中,寻找已经构筑好了的.tar.xz包(发布里也有度盘链接),下载解压后,运行其中的bin/wechat-devtools即可运行。

系统要求

  • 基于Linux的桌面系统首选GNOME其他的桌面环境可能会有问题未测试
  • 安装有wine支持建议版本在5.0以上,低版本可能会存在有问题
  • 非兼容版对glibc和libstdc++有一定的版本要求glibc的版本要求2.3libstdc++的版本要求3.4.26发布包里已经预编译了的Linux原生Node模块有这个依赖。兼容版本对这两个系统库的要求则较低如果发现非兼容版本运行有问题可以考虑尝试切换到兼容版本

CLI支持

在项目的bin目录中有wechat-devtools-cli命令是微信开发者工具的命令行支持Linux版本。相关资料可以在微信CLI命令行V2上找到。

Docker支持

为了尽可能正常的在Docker内运行完整的微信开发者工具我们在Docker镜像内提供了GUI界面的支持。但该支持有严格的系统要求因微信开发者工具的新版本对界面UI的图形化要求较高导致该部分对OpenGL有必要的需求。所以Container内镜像的图形驱动要求与Host的图形驱动完全一致,在非一致的情况下,界面会出现频闪现象。即使是关闭了硬件加速,采用了--use-gl=swiftshader的软件模拟情况下也会出现图片撕裂的情况。因此请各位在自行构筑Docker镜像时严格根据自己使用的Linux发行版修改基础镜像。

目前图形界面在Docker内部实现的方案是通过X11的套接字透传实现的因此请记得准备好一些必要Docker准备。大部分工作已经bin/wechat-devtools-docker命令中完成。但是请根据具体运行情况修改必要的参数和Docker镜像构筑脚本。鉴于Docker镜像的基础Linux版本较低因此建议使用兼容版本的发布包来构筑镜像而不要轻易使用非兼容版本。

Docker容器启动方法

./bin/wechat-devtools-docker

如需要映射外部目录请自行修改Docker启动命令

构筑方法0推荐

理论上此方法99%成功;在网络不稳定时容易失败(原因懂得都懂)

  1. 请先在Linux环境中自行安装wine
  2. 请安装docker docker-compose
  3. 克隆本项目:
git clone https://github.com/msojocs/wechat-devtools-linux.git
  1. 在本地项目目录中执行如下的语句,构筑开发者工具:
docker-compose up
  1. 在本地项目目录中执行如下的语句,可以安装应用图标(非必须):
./tools/install-desktop-icon-node

之后即可通过点击应用图标启动微信开发者工具,也可以运行bin/wechat-devtools通过命令行启动

构筑方法1

由于使用到node-gyp nw-gyp,此方法会受pythonnode版本影响出现一些难以预料的异常(比如使用node15.0.1时,大部分模块构建会被忽略,但没有任何报错信息)。但是,Docker构建方式会帮你处理好这些问题。

  1. 请先在Linux环境中自行安装wine
  2. 请安装nodejs并配置到PATH环境变量中版本不限;
  3. 克隆本项目:
git clone https://github.com/msojocs/wechat-devtools-linux.git
  1. 在本地项目目录中执行如下的语句,构筑开发者工具:
./tools/setup-wechat-devtools-bash
  1. 在本地项目目录中执行如下的语句,可以安装应用图标(非必须):
./tools/install-desktop-icon-node

之后即可通过点击应用图标启动微信开发者工具,也可以运行bin/wechat-devtools通过命令行启动

与其他Linux下的微信开发者工具版本区别

  1. 支持最新版本并个人会持续更新在添加新的tag时actions会自动构建并上传Release
  2. 自己制作了一个看得过去的图标,官方的太丑了;
  3. 核心构筑过程完全开源,可以自行修改;
  4. 修复了nwjs上关于Menu的段错误确保最新版本可以正常启动
  5. 在构筑过程中会重新编译node_modules确保原生模块可以在Linux上正确运行
  6. 可以随时更新开发者工具中的node和nwjs版本
  7. 下载更新可以支持断点再续并使用了taobao国内的npm源加速下载
  8. 使用了更为严谨的JS代码来控制整个构筑过程避免Shell中出现的各类异常。

后续计划

  1. 增加Docker镜像的稳定性对Host要求比较高
  2. 处理计划

FAQ

GO

界面截图

版本 1.05.2201240 screenshot 1.03.2006090

版本 1.03.2006090 screenshot 1.03.2006090

版本 1.02.2001191 screenshot 1.02.2001191

图标 icon

免责声明

微信开发者工具版权归腾讯公司所有本项目旨在交流学习之用。如有不当之处请联系本人邮箱dragonation@gmail.com