“@clerk/nextjs/server”没有名为“clerkMiddleware”的导出成员

问题描述 投票:0回答:1

我正在使用 TypeScript 开发 Nextjs 14,并尝试使用 clerk 进行身份验证和授权。当我使用 clerk 文档创建应用程序时,据说我在 middleware.ts 中编写了以下代码

import { authMiddleware } from "@clerk/nextjs";

export default authMiddleware({});

export const config = {
    matcher: ["/((?!.+.[w]+$|_next).*)", "/", "/(api|trpc)(.*)"],
};

过了一段时间,当我去应用职员文档中的受保护路线时,我发现:

This method is now deprecated. Please use clerkMiddleware() instead.

文档:https://clerk.com/docs/references/nextjs/auth-middleware

当我在 middleware.ts 中编写此内容时,标题中出现错误:

'"@clerk/nextjs/server"' has no exported member named 'clerkMiddleware'. Did you mean 'WithClerkMiddleware'?ts(2724)

我也用过

npm i clerk@latest

我该如何解决这个错误

typescript next.js clerk
1个回答
0
投票

遇到同样的问题,卸载之前的@clerk/nextjs版本并安装beta版本,按照middleware.ts中的@clerk doc说明进行操作,并且没有从@clerk/nextjs/server导出“withClerkMiddleware”。

© www.soinside.com 2019 - 2024. All rights reserved.