fix(local-tool): bootstrap-linux.sh 自動安裝 appimagetool
使用者在 Linux build 時遇到「appimagetool 未安裝」錯誤(wails binary
已產出 9.3M,但打包 AppImage 失敗)。原本 bootstrap-linux.sh 只裝 Go /
Node / Wails CLI,沒裝 appimagetool,build-appimage.sh 到打包步驟才
fail。
修法:
1. bootstrap-linux.sh 新增 [5/6] 步驟自動下載 + 安裝 appimagetool
- 從 AppImage/appimagetool 官方 continuous release 拉
appimagetool-x86_64.AppImage
- chmod +x + sudo mv 到 /usr/local/bin/appimagetool
- 已安裝則跳過
2. build-appimage.sh 的 appimagetool not found 錯誤訊息更新
- 提供一鍵安裝 curl 指令(不需重跑整個 bootstrap)
- 提示可重跑 bootstrap-linux.sh 一併補所有依賴
- 舊訊息裡的 URL 指向已 archived 的 AppImageKit repo,換成
AppImage/appimagetool(新 repo 位置)
使用者立即可用(不想重跑 bootstrap):
curl -fsSL https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage \\
-o /tmp/appimagetool && chmod +x /tmp/appimagetool && sudo mv /tmp/appimagetool /usr/local/bin/appimagetool
make appimage
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
fbd585ab73
commit
485a2e01ff
@ -140,8 +140,15 @@ chmod +x "$APPDIR/AppRun"
|
||||
echo "==> 檢查 appimagetool"
|
||||
if ! command -v appimagetool &> /dev/null; then
|
||||
echo "❌ appimagetool 未安裝。"
|
||||
echo " 下載:https://github.com/AppImage/AppImageKit/releases/latest/download/appimagetool-x86_64.AppImage"
|
||||
echo " 安裝:chmod +x appimagetool-x86_64.AppImage && sudo mv appimagetool-x86_64.AppImage /usr/local/bin/appimagetool"
|
||||
echo ""
|
||||
echo " 一鍵安裝(推薦):"
|
||||
echo " curl -fsSL https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage -o /tmp/appimagetool \\"
|
||||
echo " && chmod +x /tmp/appimagetool \\"
|
||||
echo " && sudo mv /tmp/appimagetool /usr/local/bin/appimagetool"
|
||||
echo ""
|
||||
echo " 或重跑 bootstrap-linux.sh(會自動安裝所有依賴):"
|
||||
echo " bash scripts/bootstrap-linux.sh"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
@ -60,13 +60,27 @@ if ! command -v node >/dev/null || [[ "$(node -v)" != v20.* ]]; then
|
||||
fi
|
||||
command -v pnpm >/dev/null || sudo npm i -g pnpm
|
||||
|
||||
log "[4/5] 安裝 Wails CLI"
|
||||
log "[4/6] 安裝 Wails CLI"
|
||||
if ! command -v wails >/dev/null; then
|
||||
go install github.com/wailsapp/wails/v2/cmd/wails@latest
|
||||
fi
|
||||
wails doctor || log "wails doctor 有警告,繼續"
|
||||
|
||||
log "[5/5] 開始 build(target=$TARGET)"
|
||||
log "[5/6] 安裝 appimagetool(打包 AppImage 用)"
|
||||
# appimagetool 只在 target=appimage 時才真的需要,但一併裝起來省事。
|
||||
# 官方 release 就是一個 self-contained AppImage,下載後 chmod +x 即可用。
|
||||
if ! command -v appimagetool >/dev/null; then
|
||||
APPIMAGETOOL_URL="https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
|
||||
log " → 下載 appimagetool from $APPIMAGETOOL_URL"
|
||||
curl -fsSL "$APPIMAGETOOL_URL" -o /tmp/appimagetool
|
||||
chmod +x /tmp/appimagetool
|
||||
sudo mv /tmp/appimagetool /usr/local/bin/appimagetool
|
||||
log " → 已安裝到 /usr/local/bin/appimagetool"
|
||||
else
|
||||
log " → appimagetool 已安裝,跳過"
|
||||
fi
|
||||
|
||||
log "[6/6] 開始 build(target=$TARGET)"
|
||||
log "ffmpeg 使用 LGPL v3 build(v2 TDD §4:BtbN n7.1 LGPL)"
|
||||
|
||||
make vendor-python-linux vendor-wheels-linux vendor-ffmpeg-linux
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user