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

使用预构建部署Deno Fresh应用时锁文件哈希校验失败求助

解决方案

1. 修复预导入路径的错误配置

你当前deno.json的imports里存在多余通配符和未锁定子路径的问题,这会导致esm.sh拉取到不一致的依赖版本。修改配置如下:

"imports": {
  "preact": "https://esm.sh/preact@10.15.1?pin=v122",
  "preact/": "https://esm.sh/preact@10.15.1/?pin=v122",
  "preact-render-to-string": "https://esm.sh/preact-render-to-string@6.2.1?pin=v122",
  "@preact/signals": "https://esm.sh/@preact/signals@1.1.3?pin=v122",
  "@preact/signals-core": "https://esm.sh/@preact/signals-core@1.2.3?pin=v122"
}

关键改动:

  • 移除所有路径前的多余*号
  • 给preact/子路径也加上?pin=v122,确保preact/debug这类子模块也锁定到指定版本

2. 重新生成并提交锁文件

本地执行构建命令,生成与配置完全匹配的deno.lock:

deno run -A dev.ts build --lock=deno.lock --lock-write

执行完成后,将更新后的deno.json和deno.lock一并提交到GitHub仓库。

3. 对齐GitHub Actions的Deno版本

确保CI环境使用和本地一致的Deno版本,避免版本差异导致依赖解析异常。在GitHub Actions workflow文件中添加版本指定:

- name: Setup Deno
  uses: denoland/setup-deno@v1
  with:
    deno-version: 1.37.0 # 替换为你本地使用的Deno版本号

4. 清理CI依赖缓存(可选)

如果上述步骤无效,在构建前添加缓存清理命令,强制拉取匹配锁文件的依赖:

deno cache --reload --lock=deno.lock dev.ts

内容的提问来源于stack exchange,提问作者hcode

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 11:42:14