Ubuntu 16.04 运行微信开发者工具编译出错的解决办法
- 2019 年 11 月 24 日
- 笔记
最近有折腾小程序的意向,但微信的开发者工具只提供了 Windows 和 Mac 两个版本,对于我这样的 Linux 用户来说不是那么地友好。
经过观察发现,那个开发者工具实际上是基于nw.js
开发的,天然地具有跨平台的属性,搜索Github的时候刚好发现这个项目: cytle/wechat_web_devtools: 微信开发者工具(微信小程序)linux完美支持
于是我按照README的教程装好 Wine,运行脚本配置安装。装好后发现功能基本正常,唯独不能正常编译小程序代码,提示
run-detectors: unable to find an interpreter xxxxxxx
文档给出的解决办法是,安装一个 wine-binfmt 包,当我敲下 sudo apt install
之后尴尬的发现, Ubuntu 16.04 LTS 缺失了这个包,想到配置各种下载源,也是挺让人绝望的。 不过呢,天无绝人之路。几经周折,刚好看到了 Adding binfmt configuration to official Wine packages,整理了一个相关的解决方案,只需要手动添加一个解析 Windows 的 exe 的 binfmt 配置就可以了,大概那个 deb 包更改的内容也是这些吧。
具体的操作如下:
vim /usr/share/binfmts/wine
内容填入
package wine interpreter /usr/bin/wine magic MZ
保存退出,更新一下配置就好了
sudo update-binfmts --import wine
寻找解决方案的过程中,看到 Java, Python 也有东西放在了 binfmt 目录里面,内容也是类似的。
或许这和那些脚本文件的第一行的 #!/bin/sh
, #!/usr/bin/env node
之类的注释冥冥之中有什么关联?
大概这些东西和Linux内核有点关系,有时间的话得研究研究,说不定又打开了一个新世界呢;D