fix(deploy): install.sh --version 1.3.0 下载 404 —— 拼地址时 tag 少了 v 前缀
Release 的 tag 是 `v1.3.0`,而 `--version` 的用法一向不带 v(用法提示与文档都写 `--version 1.1.2`),
GitHub 的 `/releases/download/<tag>/` 又是**按 tag 精确匹配**的(`releases/tags/1.3.0` 直接 404),
于是 install.sh 直接把 `VERSION` 拿去拼出来的地址必然 404:
[classhelper] 下载:.../releases/download/1.3.0/classhelper-server-linux-x64-1.3.0.tar.gz
curl: (22) The requested URL returned error: 404
同一个功能上,`classhelper` 的 `resolve_download()` 一直是 `tag="v${want#v}"`,install.sh 漏了这句 ——
所以 `classhelper upgrade --version 1.3.0` 正常、`bash install.sh --version 1.3.0` 却 404,
两处只在 `deploy/` 内部对不齐。现在两边都归一化。
`VERSION` 本身**保持不带 v**:`tag` 是另一个局部变量,装完写进安装目录的 VERSION 文件用的仍是不带 v
的裸版本号,别把它一起改了。
实测(把 install.sh 里的 `resolve_package_url()` 原样抽出来单独跑,不手抄):
| VERSION 传参 | 修复前 | 修复后 |
| ------------- | --------------------------------- | ------------------------------------ |
| `1.3.0` | `.../download/1.3.0/...` → 404 | `.../download/v1.3.0/...` |
| `v1.3.0` | `.../download/v1.3.0/...` | `.../download/v1.3.0/...` |
| 留空(latest) | `.../download/v1.3.0/...` | `.../download/v1.3.0/...` |
`bash -n` 四个脚本(install.sh / classhelper / verify-linux.sh / install-linux.sh)全过。
本机 curl 到 github.com 超时(见 §7 第 1 条),所以**真正下载要走服务器实测**。
AGENTS.md §5 第 59 条补 ⑦ 记下这条约定。
This commit is contained in:
1 parent
0b9a321bc9
commit
3236d3ad83
2 files changed
+17
No files matched your search
@@ -540,6 +540,12 @@ resolve_package_url() {
|
||||
sudo bash install.sh --package /tmp/classhelper-server-linux-x64-1.1.2.tar.gz"
|
||||
fi
|
||||
fi
|
||||
# tag 一律补上 v 前缀:Release 的 tag 是 v1.3.0,而 --version 的用法是 `--version 1.3.0`(不带 v)——
|
||||
# 直接拿 VERSION 去拼就成了 .../download/1.3.0/...,GitHub 按 tag 精确匹配,必然 404
|
||||
# (2026-10-11 实测:`install.sh --version 1.3.0` 下载 404,而 `classhelper upgrade --version 1.3.0` 正常
|
||||
# —— 因为 classhelper 的 resolve_download 一直有这句,install.sh 漏了)。
|
||||
# 传 `v1.3.0`、`1.3.0`、或者不传(走 latest)三种写法都落在这里。
|
||||
tag="v${tag#v}"
|
||||
ver="${tag#v}"
|
||||
# 注意这里用 GITHUB_REPO_URL 而不是 GITHUB_RELEASES_PAGE:后者本身已经以 /releases 结尾,
|
||||
# 再拼一次就变成 .../releases/releases/download/... (必然 404,实测踩到)。
|
||||
|
||||
Reference in new issue
Block a user