鹅厂官方一直没有出一个给广大linux系统用户的微信开发者工具。最近也是因为要对小程序项目做一个修改更新,但是自己的电脑已经把windows系统换成ubuntu20.04了(快两年不用windows了),所以为了能正常开发微信小程序,所以搜索到网上的这种解决方法(能解决问题的就是好方法)。
下面记录一下安装工具和启动过程遇到的问题。
基础依赖wine
对于wine来讲,不需要对它太在乎,只要安装上能通过它跑起程序就差不多了。之前我已经通过它运行过魔兽争霸游戏,所以系统已经支持这环境了。
wine安装方法很简单
sudo apt-get install wine -y
我安装的版本,这个版本没有太高要求,网上资料看很多都是1.6左右的
wine-5.0 (Ubuntu 5.0-3ubuntu1)
安装开发者工具
Linux微信web开发者工具, 可在
linux
桌面环境跑起微信开发者工具
, 原理是微信开发者工具
本质是nw.js
程序, 把它移植到linux
下没大问题. 负责编译wxml
和wxss
的wcc
和wcsc
(可能还有其他功能), 则利用wine
来跑即可.
拉取代码
git clone https://github.com/cytle/wechat_web_devtools.git
执行安装
cd wechat_web_devtools
# 自动下载最新 `nw.js` , 同时部署目录 `~/.config/wechat_web_devtools/`
./bin/wxdt install
在安装过程中,我遇到错误提示了,解决方法就是把以下两个目录删除,再执行一次安装。
sudo rm -rf dist/ #它在wechat_web_devtools目录下安装时会自动生成
sudo rm -rf /tmp/wxdt_xsp/
启动开发者工具
./bin/wxdt
启动时会提示无法解析小程序,无法加载打开一些文件,会出现以下类似的错误
[279074:279096:0601/210017.890062:ERROR:data_store_impl.cc(131)] Failed to open Data Reduction Proxy DB: 3 [279074:279096:0601/210017.896658:ERROR:database.cc(1713)] Passwords sqlite error 14, errno -2: unable to open database file, sql: -- sqlite3_open() [279074:279096:0601/210017.896694:ERROR:login_database.cc(622)] Unable to open the password store database. [279074:279096:0601/210017.896703:ERROR:password_store_default.cc(43)] Could not create/open login database. [279074:279074:0601/210018.330844:ERROR:desktop_window_tree_host_x11.cc(1125)] Not implemented reached in virtual void views::DesktopWindowTreeHostX11::InitModalType(ui::ModalType) [279074:279146:0601/210023.641493:ERROR:leveldb_env.cc(115)] Failed to open LevelDB database from /home/swper/.config/wechat_web_devtools/Default/Storage/ext/hclkpbeckopaedokicifjgflpbaiehjk/B6040049D0F4/IndexedDB/chrome-extension_hclkpbeckopaedokicifjgflpbaiehjk_0.indexeddb.leveldb,IO error: /home/swper/.config/wechat_web_devtools/Default/Storage/ext/hclkpbeckopaedokicifjgflpbaiehjk/B6040049D0F4/IndexedDB/chrome-extension_hclkpbeckopaedokicifjgflpbaiehjk_0.indexeddb.leveldb/000028.log: Unable to create sequential file (ChromeMethodBFE: 7::NewSequentialFile::5) [279074:279146:0601/210023.646378:ERROR:database.cc(1713)] DatabaseTracker sqlite error 14, errno -2: unable to open database file, sql: -- sqlite3_open() [279074:279146:0601/210023.646515:ERROR:database.cc(1713)] DatabaseTracker sqlite error 14, errno -2: unable to open database file, sql: -- sqlite3_open() [279074:279146:0601/210023.647217:ERROR:database.cc(1713)] DatabaseTracker sqlite error 14, errno -2: unable to open database file, sql: -- sqlite3_open()
所以需要给目录授权,为了方便直接777吧
sudo chmod -R 777 ~/.config/wechat_web_devtools/
授权后启动时就看不到上面的报错信息了。但是小程序里面还会有一个错误提示。
详细的信息可以看到下方的提示在哪个文件或者目录。
原因说明
根据错误的信息找到对应目录下,其实文件是存在的,但是为什么还会有这样的错误呢?
其实程序在启动之前这里
~/.config/wechat_web_devtools/WeappVendor
不应该存在该文件,所以一启动项目时就会报错,它是启动后生成的。解决方法就是执行./wxdt命令时先把上面目录的wcc.exe
文件删除。
修改启动脚本文件wxdt
,添加几行,在启动时先检查是否存在wcc.exe文件,存在就删除
就是添加了3-8行的代码
3 #delete wcc.exe
4 wccFile="$HOME/.config/wechat_web_devtools/WeappVendor/wcc.exe"
5
6 if [ -f "$wccFile" ]; then
7 rm $wccFile
8 fi
注意
这样每次执行wxdt时就不会再出现上面的错误提示了。不过这也有不足的地方,就是开发者工具不是直接关闭退出程序的,只是点击项目里的关闭当前项目来切换一个项目的话还是会存在上面的提示。
添加一个启动图标
给程序添加一个启动图标,这样就可以直接在应用程序列表里找到,点击一下就可以启动了。
注意以下代码修改一下执行文件和Icon图片(自己找一个)的图径
添加一个文件sudo vim /usr/share/applications/WechatDevtools.desktop
添加以下内容,保存即可。
1 [Desktop Entry]
2 Type=Application
3 Name=微信开发者工具
4 Icon=/opt/wechat_web_devtools/images/logo_miniprogram.png
5 GenericName=WechatDevtools
6 Comment=WechatDevtools
7 Exec="/opt/wechat_web_devtools/bin/wxdt" -desktop
8 Terminal=false
9 Categories=Wechat;tencent;
这样就可以在ubuntu系统中使用微信开发者工具继续开发小程序了。