跳转到内容

更新

按安装方式区分的自动更新与手动升级、补丁版静默安装、qialike-update.auto 设置,以及 qialike upgrade 家族。

能自动更新的安装会自动更新:启动约 1 秒后,后台以子进程检查一次新版本(不阻塞界面,失败静默)。只有补丁版(patch)会静默安装;小版本(minor)与大版本(major)只在状态栏提示。

哪些安装能自动更新见下表——简单说:npm 装的可以(含 Windows),curl 安装器装的可以(仅 Linux / macOS),手动解压的 zip 与源码构建不可以。


按安装方式更新

你是怎么装的自动更新手动更新
Linux / macOS(shell 安装器)✅ 补丁版静默装;小/大版本只提示qialike upgrade
Windows · npm✅ 补丁版静默装(与 Linux / macOS 同规则)qialike upgrade,或自己跑 npm i -g @qialike/cli@latest(先退出 qialike)
Windows · 手动解压 zip❌ 不自动qialike upgrade --check 查版本 → 下载新 .zip → 退出 qialike → 替换 qialike.exe
从源码构建❌ 从不被触碰git pull 后重新构建

Windows 上为什么大多没有自动更新:shell 安装器在 Windows 上没法用(它是 bash),运行中的 .exe 也无法被替换(POSIX 靠 mv 换掉正在运行的 ELF,Windows 没有等价物)⇒ 安装器装的、以及手动解压的副本都只能提示。npm 装的副本是唯一的例外:npm 自己就是它的更新器、不需要 bash,所以那条渠道在 Windows 上也按同一规则自动更新——启动后台检查发现补丁版时,它直接跑 npm install -g @qialike/cli@<版本>(精确版本,不是 @latest,避免 npm 二次解析到比你被告知的更新的版本);当前会话仍跑着旧版本,下次启动生效。小版本 / 大版本仍只提示,把 qialike-update.auto 设成 "notify" 后连补丁版也只提示。

所以 qialike upgrade 在 Windows 上有两种行为:npm 装的会真的装(交给 npm),手动解压的只报版本并打印两个下载链接(GitCode 主源 + gitcode 镜像)——后者的布局里没有可原地替换的文件,下载新 .zip、退出 qialike、替换 qialike.exe 才是它的更新方式。


自动更新的前提

二进制有人管:curl 安装器的 ~/.dsh/bin(Linux / macOS),或 npm 全局前缀下的副本(含 Windows)。没有人管的两种永远不会被替换:自行编译的检出构建,以及从 zip 手动解压出来的二进制——它们只会收到通知(版本 + 下载链接),--check 也只报告。


关闭或改为只提示

设置项 qialike-update.auto 是 ~/.dsh/settings.yaml 里的一个设置节(由更新器注册),取值:

取值含义
true(默认)补丁版静默安装;小版本 / 大版本只提示。
false完全不检查。
"notify"只提示、从不自动安装。

两个环境变量可覆盖它:QIALIKE_DISABLE_AUTOUPDATE=1 全局关闭自动更新,QIALIKE_ALWAYS_NOTIFY_UPDATE=1 强制只提示。确切的 YAML 写法与其余环境变量见 配置。


手动更新

Terminal window
qialike upgrade # 升级到最新版
qialike upgrade <版本> # 装指定版本(接受 v 前缀)
qialike upgrade --check # 只报告,不安装

TUI 内也可用 /upgrade。能不能真的安装,取决于二进制由谁管,而不是取决于平台:

  • npm 副本由 npm 替换(Windows 上也能);qialike upgrade --check 会额外把 npm i -g @qialike/cli@latest 打印出来。
  • ~/.dsh/bin 的副本由安装器替换(仅 POSIX——Windows 上安装器是 bash,且运行中的 .exe 换不掉)。
  • 没人管的副本(检出构建、手动解压的二进制)会被拒绝并建议改用安装器重装;唯一的例外是 Windows 上手动解压的那份——平台闸在它之前,直接给出下载链接。

更新请求发往哪里

版本检查与下载发往 GitCode(canonical)、gitcode(镜像)与 qialike.cn——与安装器相同的主机,见 安装 → 下载源与回退。


下一步

  • 安装 —— 安装器、发布归档,以及 Windows 的 npm / 手动两条路
  • 命令 —— 命令行参数,含 qialike upgrade 与 qialike plugin
  • 配置 —— 设置项、环境变量与遥测