Spago 安装旧版本的包

Spago installs old version of package

spago 不断安装旧版本 (0.1.3) 的 purescript-point-free (1.0.0),有没有办法更新 spago 快照以使用最新版本而不是旧版本?

追求 github 显示最新版本 (1.0.0) 所以我想它是可安装的 https://pursuit.purescript.org/packages/purescript-point-free/1.0.0

显然包作者还没有找到时间将新版本发布到包集。没什么大不了的,Spago 也允许本地覆盖。

只要 GitHub 仓库有一个标签 v1.0.0,您就可以通过修改 packages.dhall 文件中的包集来告诉 Spago 使用该特定版本:

let upstream = https://raw.githubusercontent.com/purescript/package-sets/...

in upstream
  with point-free.version = "v1.0.0"

注意 1: 字符串“v1.0.0”并不神奇。它只是指向回购协议中的 Git 标签。所以这将适用于任何标签,或任何分支名称,甚至适用于特定的提交 SHA。

注意 2:您可以覆盖包定义中的任何内容,而不仅仅是版本。

例如:

let upstream = https://raw.githubusercontent.com/purescript/package-sets/...

in upstream
  with point-free.version = "experimental-branch"
  with prelude.version = "main"
  with parsers.version = "a0ab5bf63e195bf17f676e1075b4508af582927c"

  with some-lib.repo = "/my/local/repo"
  with some-lib.version = "my-branch"
  with some-lib.dependencies = ["prelude"]