You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制Stack重新拉取snapshot中配置的URL资源

问题根因

你使用的是指向分支头部的zip URL,URL本身未发生变化,Stack默认以URL作为缓存键识别依赖,因此不会主动检测上游内容更新,依旧使用历史缓存。你删除~/.stack后旧缓存仍然存在,是因为Stack的下载缓存还会默认存放在~/.cache/stack路径下,该目录未被清理导致缓存残留。

解决方案

以下方案按优先级从高到低排列:

  • 方案1:给依赖绑定固定commit(根治)
    将URL替换为对应最新提交的固定commit zip地址,避免分支更新后URL不变导致的缓存识别问题,配置示例如下:

    resolver: lts-14.0
    
    packages:
    - url: https://github.com/llvm-hs/llvm-hs/archive/替换为最新提交的完整哈希.zip
      subdirs:
      - llvm-hs
      - llvm-hs-pure
    

    也可以在依赖配置中增加sha256字段指定最新zip包的哈希值,Stack检测到哈希不匹配会自动重新下载。

  • 方案2:全量清理所有缓存
    执行以下命令删除所有Stack相关缓存:

    rm -rf ~/.stack ~/.cache/stack ./.stack-work
    

    清理完成后重新执行构建命令即可拉取最新的zip包。

  • 方案3:临时强制重新下载
    不需要清理缓存,执行构建时添加--force-download参数即可强制Stack忽略本地缓存重新拉取所有依赖:

    stack build --force-download
    

内容的提问来源于stack exchange,提问作者andrew-wja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 13:15:04