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

如何在Deno中导入带@的npm作用域包?解决依赖解析错误

解决Deno中导入@whiskeysockets/baileys的依赖解析错误

你的猜测不对,Deno并没有把whiskeysockets当成版本号,这个作用域的写法是正确的。真正的问题是:@whiskeysockets/baileys的依赖libsignal用了非标准的npm版本格式——直接指定GitHub仓库地址(github:adiwajshing/libsignal-node),而Deno默认的npm兼容层不支持这种格式,才会抛出版本解析错误。

下面是两种可行的解决办法:

方法一:使用--node-modules-dir参数让Deno用npm方式处理依赖

执行命令时加上该参数,Deno会生成标准的node_modules目录,用npm的逻辑处理所有依赖(包括这种GitHub源的依赖):

deno run --node-modules-dir main.ts

第一次运行会自动下载并安装所需依赖到node_modules,后续运行就可以正常执行了。

方法二:手动预安装依赖(需本地有npm环境)

如果不想每次都加参数,可以先通过npm手动安装所有依赖:

  1. 在项目根目录执行:
npm install @whiskeysockets/baileys
  1. 然后在Deno代码中修改导入路径为本地node_modules中的包:
import * as a from "./node_modules/@whiskeysockets/baileys/lib/index.js";
console.log(a);

之后直接运行deno run main.ts即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 10:03:14