Posts  

切换到 Windows 环境,重新设置一些软件,在拉回博客设置 hugo 的时候,又遇到了之前的 hugo 版本过高与本地博客主题不适配的问题,需要降级 hugo 的版本到指定版本。macOS 环境通过 Homebrew 管理应用,在 Windows 中通过 Scoop 来完成。

问了一下 Gemini,给的回复是 Scoop 也像 Homebrew 一样不支持安装指定版本的应用,但是可以通过指定 url 指定安装的配置文件,来安装旧版本的应用。

于是只要到 Scoop 的软件仓库,找到对应应用的配置文件,查看提交历史,找到历史版本的源文件 url 就可以了。

  • 去 Scoop 的 GitHub 仓库(通常是 ScoopMainScoopExtras)。
  • 找到对应软件的 .json 文件(例如 nodejs.json)。
  • 点击右上角的 History 查看提交历史。
  • 找到你想要的那个版本的提交记录,点击查看文件。
  • 点击 Raw 按钮,复制浏览器地址栏中的 URL。
  • URL 看起来像这样: https://raw.githubusercontent.com/.../commit_hash/.../app.json

然后根据这个 url 进行安装。这样通过指定配置的 url 来安装,安装下来的 app 也没有办法更新,自动就锁了版本了。

1
scoop install https://raw.githubusercontent.com/ScoopInstaller/Main/4e72c5167244e249bbb063a93c28bb8aac034682/bucket/hugo-extended.json

但是这样找配置文件的历史版本,实际上是非常麻烦的,需要一页一页往后翻,如果版本旧点,得翻挺久。搜了一下,发现实际上 Scoop 是支持下载应用的指定版本的。下载指定版本后,可以通过 hold 命令禁止更新。

1
2
3
4
# Install specific version
scoop install <app>@<version>
# The scoop hold command prevents apps from being updated. 
scoop hold <apps>

实际上这个命令在 Scoop 的 help 命令里面都能看到,Gemini 有点不太靠谱,在后面我发现了可以下载后,还是嘴硬不承认。