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

如何在Deno中托管npm包?遇到panic报错求助

解决Deno中托管Lume依赖的npm包报错问题

解决方案步骤

1. 显式映射npm包到import_map.json

在import_map.json中添加Lume依赖的npm包具体地址映射,确保版本与Lume实际依赖一致:

{
  "imports": {
    "lume/": "https://deno.land/x/lume@v1.12.1/",
    "npm:markdown-it-attrs@4.1.3": "https://registry.npmjs.org/markdown-it-attrs/-/markdown-it-attrs-4.1.3.tgz",
    "npm:markdown-it@13.0.0": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.0.tgz"
  }
}

2. 更新deno.jsonc启用npm支持

在deno.jsonc中添加"npm": true配置,让Deno正确识别npm协议的依赖:

{
  "importMap": "import_map.json",
  "npm": true
}

3. 重新执行vendor命令

运行以下命令重新生成依赖目录:

deno vendor --force --unstable dev_deps.ts

问题原因

Deno的vendor工具在处理间接引入的npm依赖时,无法自动解析对应的本地存储路径,导致panic报错。通过显式在import映射中指定npm包的具体下载地址,配合启用npm支持配置,能让vendor工具正确定位并下载这些依赖到本地。

如果后续出现其他类似npm依赖报错,只需按照相同方式,在import_map.json中添加对应包的URL映射即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 07:45:53