如何在Deno 2中运行drizzle-kit?执行迁移命令遇模块缺失错误
解决Deno环境下
drizzle-kit找不到模块的问题 问题根源
你用Node的npx工具来运行Deno环境的drizzle-kit,两者模块机制不兼容,导致工具从Node模块路径查找依赖失败,触发找不到模块的报错。
解决步骤
改用Deno原生方式执行命令
直接用Deno的命令加载并运行npm包,无需npx:deno run -A npm:drizzle-kit generate --name=init说明:
-A参数授予脚本所有权限,npm:drizzle-kit是Deno从npm仓库加载包的标准写法。修正配置文件适配Deno
确保drizzle.config.ts使用ES模块语法(import而非require),示例配置:import { defineConfig } from "npm:drizzle-kit"; export default defineConfig({ schema: "./schema.ts", out: "./drizzle", dialect: "postgresql", // 替换为你实际使用的数据库类型 dbCredentials: { url: "你的数据库连接地址", }, });配置项目脚本简化操作
在项目根目录的deno.json中添加脚本和依赖声明:{ "scripts": { "db:generate": "deno run -A npm:drizzle-kit generate --name=init" }, "imports": { "drizzle-kit": "npm:drizzle-kit@latest" } }之后只需执行以下命令即可生成迁移文件:
deno task db:generate
内容的提问来源于stack exchange,提问作者Anurag Shetty
相关产品推荐
相关产品推荐

