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

使用prisma-extension-pagination时触发Cannot find module错误(pnpm环境)

解决Prisma与prisma-extension-pagination配合使用的模块找不到问题
  • 重新生成Prisma客户端
    报错提示找不到.prisma/client/default,这个目录是prisma generate命令生成的,执行以下步骤:

    1. 在项目根目录运行 pnpm prisma generate
    2. 检查schema.prisma中的generator配置是否正确:
      generator client {
        provider = "prisma-client-js"
      }
      
  • 调整pnpm的hoisting配置
    pnpm默认的严格依赖隔离可能导致@prisma/client的内部模块路径异常,在package.json中添加如下配置:

    {
      "pnpm": {
        "hoist": true,
        "shamefully-hoist": true
      }
    }
    

    然后删除node_modules和pnpm-lock.yaml,重新执行:

    pnpm install
    pnpm prisma generate
    
  • 验证版本兼容性
    你当前使用Prisma 5.13.0和prisma-extension-pagination 0.7.3,可能存在版本不匹配问题:

    • 升级扩展到最新版本:pnpm add prisma-extension-pagination@latest
    • 如果升级后仍有问题,可尝试降级Prisma到扩展明确支持的版本(参考扩展的更新日志确认兼容范围)
  • 确认代码导入与扩展使用方式
    确保代码中正确导入并使用扩展:

    import { PrismaClient } from '@prisma/client'
    import { pagination } from 'prisma-extension-pagination'
    
    const prisma = new PrismaClient().$extends(pagination())
    

    避免使用相对路径导入PrismaClient,确保依赖解析逻辑正确。

  • 容器环境下的构建检查
    从错误路径/app来看,你可能在Docker容器中运行项目:

    • 在Dockerfile中添加RUN pnpm prisma generate命令,确保构建阶段生成Prisma客户端,不要依赖本地生成的文件
    • 确认容器内的项目路径与本地一致,避免路径映射导致的模块寻址错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 00:42:20