运行DenoDB脚本时遭遇dev.jspm.io 500依赖导入错误求助
DenoDB连接SQLite3时的依赖加载错误问题
问题场景
在预装SQLite3的MacBook Pro上,尝试运行参考DenoDB文档编写的首个Deno脚本,仅通过SQLite3连接器连接数据库,脚本代码如下:
import { Database, SQLite3Connector } from 'https://deno.land/x/denodb/mod.ts'; const connector = new SQLite3Connector({ filepath: './db.sqlite', }); export const db = new Database(connector);
执行命令 deno run api/db.ts 后,成功下载部分依赖(如https://deno.land/std@0.149.0/encoding/hex.ts),但随即出现以下错误:
error: Import 'https://dev.jspm.io/inherits@2.0' failed: 500 Internal Server Error
at https://raw.githubusercontent.com/Zhomart/dex/930253915093e1e08d48ec0409b4aee800d8bd0c/lib-dyn/deps.ts:4:26
已尝试删除/Users/<me>/Library/Caches/deno/deps/https目录并多次重新运行脚本,问题仍未解决;在浏览器中访问https://dev.jspm.io/inherits@2.0同样报错。
问题原因
该问题属于DenoDB的库依赖错误,是已知问题——DenoDB依赖的第三方库引用了已失效的jspm链接,导致无法正常加载依赖。
解决办法
- 使用DenoDB的固定稳定版本:避免使用未指定版本的
https://deno.land/x/denodb/mod.ts,改用修复过该问题的版本,例如:
import { Database, SQLite3Connector } from 'https://deno.land/x/denodb@v1.0.40/mod.ts';
(具体版本可参考DenoDB的官方发布记录,选择已修复依赖问题的版本)
- 切换到Deno官方SQLite库:如果不需要DenoDB的ORM功能,可以直接使用Deno官方维护的SQLite库,示例代码如下:
import { Database } from "https://deno.land/x/sqlite3@0.9.1/mod.ts"; const db = new Database("./db.sqlite"); // 后续操作参考官方文档
- 等待官方修复:若坚持使用最新版DenoDB,可关注相关问题的修复进度,待官方更新依赖链接后再尝试运行。
内容的提问来源于stack exchange,提问作者charmeleon
相关产品推荐
相关产品推荐

