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

Next.js 14+TypeScript集成Clerk时clerkMiddleware导出报错求助

解决步骤
  • 更新全部Clerk相关依赖
    你仅更新了clerk核心包,但@clerk/nextjs这个Next.js适配包也需要同步更新到最新版本,执行对应包管理器的命令:

    # npm
    npm install @clerk/nextjs@latest clerk@latest
    
    # yarn
    yarn add @clerk/nextjs@latest clerk@latest
    
    # pnpm
    pnpm add @clerk/nextjs@latest clerk@latest
    
  • 修正middleware.ts代码
    新版本中clerkMiddleware的导入路径为@clerk/nextjs,且受保护路由的配置方式改为结合createRouteMatcher实现,替换原有代码为:

    import { clerkMiddleware, createRouteMatcher } from '@clerk/nextjs';
    
    // 自定义需要鉴权保护的路由规则,按需修改
    const isProtectedRoute = createRouteMatcher(['/dashboard(.*)', '/profile(.*)']);
    
    export default clerkMiddleware((auth, req) => {
      // 对匹配到的受保护路由执行鉴权校验
      if (isProtectedRoute(req)) {
        auth().protect();
      }
    });
    
    export const config = {
      matcher: ["/((?!.+\\.[\\w]+$|_next).*)", "/", "/(api|trpc)(.*)"],
    };
    
  • 重启开发服务验证
    保存代码后重启npm run dev,TypeScript的导出错误即可消除。

错误原因说明

  1. 未同步更新@clerk/nextjs适配包,仅更新核心clerk包会导致适配包版本过低,缺失clerkMiddleware导出;
  2. 导入路径错误:clerkMiddleware属于@clerk/nextjs包的导出,而非@clerk/nextjs/server。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 04:35:06