fix: 修复更新脚本选择"不保留上传工具"无法触发重新下载的问题
问题描述:
- 更新时选择"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 <noreply@anthropic.com>
This commit is contained in:
@@ -3360,9 +3360,11 @@ update_pull_latest_code() {
|
|||||||
rm -rf "${PROJECT_DIR}/upload-tool-temp"
|
rm -rf "${PROJECT_DIR}/upload-tool-temp"
|
||||||
print_success "已保留现有上传工具,仅更新脚本文件"
|
print_success "已保留现有上传工具,仅更新脚本文件"
|
||||||
else
|
else
|
||||||
print_info "将在后续步骤重新下载上传工具..."
|
print_info "将删除现有工具并在后续步骤重新下载..."
|
||||||
rm -rf "${PROJECT_DIR}/upload-tool"
|
rm -rf "${PROJECT_DIR}/upload-tool"
|
||||||
cp -r "/tmp/${PROJECT_NAME}-update/upload-tool" "${PROJECT_DIR}/"
|
cp -r "/tmp/${PROJECT_NAME}-update/upload-tool" "${PROJECT_DIR}/"
|
||||||
|
# 删除dist目录以触发后续重新下载
|
||||||
|
rm -rf "${PROJECT_DIR}/upload-tool/dist"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
print_warning "现有上传工具文件大小异常,将重新下载..."
|
print_warning "现有上传工具文件大小异常,将重新下载..."
|
||||||
|
|||||||
Reference in New Issue
Block a user