在UBUNTU22.04安装微信开发者工具教程
·
微信开发者工具安装总结
发现的主要问题及解决方案:
- 缺少 wine32 包:系统因依赖冲突无法安装 wine32
- 缺少 bcryptprimitives.dll:这个 DLL 导致 Go 运行时崩溃
- Wine 前缀配置不正确:最初的 32/64 位混合配置导致问题
- 直接运行可执行文件失败:直接运行 .exe 文件无法正常工作
最终的解决方案:
-
正确重装 Wine:
sudo apt remove --purge wine* sudo apt install -y wine64 winetricks -
创建新的 Wine 前缀:
export WINEPREFIX="$HOME/.wine-new" winecfg -v win7 -
修复 DLL 问题:
- 创建符号链接:
bcrypt.dll→bcryptprimitives.dll - 设置 DLL 覆盖:
WINEDLLOVERRIDES="mscoree=,bcryptprimitives=n,b"
- 创建符号链接:
-
使用 CLI 方法替代:
- 直接运行可执行文件失败
- CLI 方法有效:
wine64 node.exe cli.js open --no-sandbox --disable-gpu
-
创建必要目录:
mkdir -p "$WINEPREFIX/drive_c/users/AppData/Local/微信开发者工具/User Data/b543eb636950fa5afc37d4d2f07d776/Default" touch "$WINEPREFIX/drive_c/users/AppData/Local/微信开发者工具/User Data/b543eb636950fa5afc37d4d2f07d776/Default/.cli"
最终启动脚本:
start-wechat-devtools.sh 脚本现在会:
- 初始化干净的 Wine 前缀
- 修复 DLL 依赖
- 创建所需目录
- 通过 CLI 使用适当的标志启动微信开发者工具
使用方法:
cd /home/gaogao/Desktop/Projects/new_journey/wechat-dev-tool
./start-wechat-devtools.sh
注意事项:
- GUI 界面可用,但可能需要时间初始化
- 可以直接使用 CLI:
wine64 node.exe cli.js open --project /path/to/miniprogram - Wine 仍会显示一些警告,但不影响功能
关键突破点:
- 从直接运行 exe 改为使用 CLI 启动
- 修复 bcryptprimitives.dll 依赖问题
- 使用正确的 Wine 前缀配置
- 创建微信开发者工具所需的特定目录结构
脚本参考
#!/bin/bash
cd /home/wechat-dev-tool
# Use a fresh Wine prefix specifically for WeChat DevTools
export WINEPREFIX="$HOME/.wine-new"
export PATH="/usr/bin:$PATH"
export WINEDLLOVERRIDES="mscoree=,bcryptprimitives=n,b"
export NODE_SKIP_PLATFORM_CHECK=1
export DISPLAY=$DISPLAY
# Initialize the Wine prefix if it doesn't exist
if [ ! -d "$WINEPREFIX" ]; then
echo "Initializing new Wine prefix for WeChat DevTools..."
winecfg -v win7
fi
# Create necessary directories
mkdir -p "$WINEPREFIX/drive_c/微信开发者工具/User Data/b543eb636950fa5afc37d4d2f07d776/Default"
# Create CLI file if it doesn't exist
touch "$WINEPREFIX/drive_c/微信开发者工具/User Data/b543eb636950fa5afc37d4d2f07d776/Default/.cli"
# Fix bcryptprimitives.dll issue by creating symlink
ln -sf "$WINEPREFIX/drive_c/windows/system32/bcrypt.dll" "$WINEPREFIX/drive_c/windows/system32/bcryptprimitives.dll" 2>/dev/null || true
# Kill any existing WeChat DevTools processes
pkill -f "wechatdevtools\|微信开发者工具\|node.exe.*cli.js" 2>/dev/null || true
sleep 2
# Close any error windows
wmctrl -c "Program Error Details" 2>/dev/null || true
wmctrl -c "Desktop" 2>/dev/null || true
wmctrl -c "Program Error" 2>/dev/null || true
sleep 1
# Use CLI to launch WeChat DevTools
echo "Starting WeChat DevTools using CLI..."
wine64 node.exe cli.js open --no-sandbox --disable-gpu &
WINE_PID=$!
# Wait for the application to start
sleep 10
# Check for WeChat DevTools windows and bring to front
if wmctrl -l | grep -qi "wechat\|微信\|开发者工具"; then
echo "Found WeChat DevTools window, bringing to front..."
wmctrl -a "微信开发者工具" 2>/dev/null || wmctrl -a "WeChat DevTools" 2>/dev/null || true
else
echo "No WeChat DevTools window found. Checking processes..."
ps aux | grep -E "(wechat|$WINE_PID|node.exe)"
fi
echo "WeChat DevTools PID: $WINE_PID"
echo "To manually start a project: wine64 node.exe cli.js open --project /path/to/your/miniprogram"
更多推荐


所有评论(0)