NextAuth集成RedditProvider报错:TypeError提示该对象不是函数
问题原因与解决方案
这个错误的核心是你导入RedditProvider的方式与当前安装的NextAuth版本不兼容,或者依赖包的导出结构因缓存/安装异常出现问题。
解决方案步骤:
1. 修正导入方式
如果你的NextAuth版本是v4.x(当前主流稳定版),部分场景下包的导出可能为默认导出而非命名导出,将导入代码改为:
import { NextAuth } from 'next-auth'; // 改为默认导入 import RedditProvider from 'next-auth/providers/reddit'; export const authOptions = { providers: [ RedditProvider({ clientId: process.env.REDDIT_CLIENT_ID, clientSecret: process.env.REDDIT_CLIENT_SECRET, }), ], }; export default NextAuth(authOptions);
2. 重新安装依赖包
依赖包安装不完整或缓存损坏也会导致导出异常,执行以下命令重置依赖:
# npm 用户 npm uninstall next-auth npm install next-auth # yarn 用户 yarn remove next-auth yarn add next-auth # pnpm 用户 pnpm remove next-auth pnpm add next-auth
3. 验证版本与配置
- 查看
package.json确认next-auth版本为v4.x - 检查
.env文件中REDDIT_CLIENT_ID和REDDIT_CLIENT_SECRET的拼写与取值是否正确
内容的提问来源于stack exchange,提问作者AmeriNam20
相关产品推荐
相关产品推荐

