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

如何在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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 05:32:02