From 2e0376e7e53c7074d2b552054d5caaec587edef4 Mon Sep 17 00:00:00 2001 From: WanWanYun Date: Sun, 16 Nov 2025 00:19:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=E9=80=89=E6=8B=A9"=E4=B8=8D=E4=BF=9D?= =?UTF-8?q?=E7=95=99=E4=B8=8A=E4=BC=A0=E5=B7=A5=E5=85=B7"=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E8=A7=A6=E5=8F=91=E9=87=8D=E6=96=B0=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题描述: - 更新时选择"2) 删除并重新下载" - 但实际上只是删除并复制了新的upload-tool目录 - 没有触发后续的build_upload_tool()重新下载 - 导致用户无法获取最新的上传工具 原因分析: - else分支(选择2)只做了 rm + cp 操作 - 复制的新目录中没有dist/玩玩云上传工具.exe - 但后续检查逻辑看的是文件是否存在和大小 - 如果目录结构存在,即使文件不存在也不会重新下载 修复方案: 在else分支最后添加: ```bash # 删除dist目录以触发后续重新下载 rm -rf "${PROJECT_DIR}/upload-tool/dist" ``` 修复后逻辑: 1. 选择"1"保留: - 备份dist目录 - 更新upload-tool脚本文件 - 恢复dist目录 - 跳过后续下载 2. 选择"2"重新下载: - 删除整个upload-tool - 复制新的upload-tool - **删除dist目录** ✅ NEW - 触发后续build_upload_tool()重新下载 验证: 后续update_install_dependencies后面的检查: ```bash if [[ ! -f "${PROJECT_DIR}/upload-tool/dist/玩玩云上传工具.exe" ]]; then build_upload_tool # ✅ 会被触发 fi ``` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- install.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 8646c32..81810a4 100644 --- a/install.sh +++ b/install.sh @@ -3360,9 +3360,11 @@ update_pull_latest_code() { rm -rf "${PROJECT_DIR}/upload-tool-temp" print_success "已保留现有上传工具,仅更新脚本文件" else - print_info "将在后续步骤重新下载上传工具..." + print_info "将删除现有工具并在后续步骤重新下载..." rm -rf "${PROJECT_DIR}/upload-tool" cp -r "/tmp/${PROJECT_NAME}-update/upload-tool" "${PROJECT_DIR}/" + # 删除dist目录以触发后续重新下载 + rm -rf "${PROJECT_DIR}/upload-tool/dist" fi else print_warning "现有上传工具文件大小异常,将重新下载..."