引入nextAuth.js Sequelize适配器后调用服务端API报ERR_PACKAGE_PATH_NOT_EXPORTED错
问题:NextAuth.js Sequelize适配器在单元测试/自定义工具中抛出导出路径错误
环境
- Node: 18.17.1
- Yarn: 1.22.19
- npm: 9.6.7
问题详情
项目切换到NextAuth.js并引入@auth/sequelize-adapter后,运行单元测试或自定义工具调用服务端API时出现以下错误:
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main defined in C:\src\app\node_modules\@auth\sequelize-adapter\package.json at new NodeError (node:internal/errors:405:5) at exportsNotFound (node:internal/modules/esm/resolve:359:10) at packageExportsResolve (node:internal/modules/esm/resolve:639:13) at resolveExports (node:internal/modules/cjs/loader:567:36) at Function.Module._findPath (node:internal/modules/cjs/loader:636:31) at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1063:27) at Function.Module._resolveFilename.sharedData.moduleResolveFilenameHook.installedValue [as _resolveFilename] (C:\src\app\node_modules\@cspotcode\source-map-support\source-map-support.js:811:30) at Function.Module._load (node:internal/modules/cjs/loader:922:27) at Module.require (node:internal/modules/cjs/loader:1143:19) at require (node:internal/modules/cjs/helpers:121:18) at Object.<anonymous> (C:\src\app\src\pages\api\auth\[...nextauth].ts:2:1) at Module._compile (node:internal/modules/cjs/loader:1256:14) at Module.m._compile (C:\src\app\node_modules\ts-node\src\index.ts:1618:23) at Module._extensions..js (node:internal/modules/cjs/loader:1310:10) at Object.require.extensions.<computed> [as .ts] (C:\src\app\node_modules\ts-node\src\index.ts:1621:12) at Module.load (node:internal/modules/cjs/loader:1119:32) at Function.Module._load (node:internal/modules/cjs/loader:960:12) at Module.require (node:internal/modules/cjs/loader:1143:19) at require (node:internal/modules/cjs/helpers:121:18) at Object.<anonymous> (C:\src\app\src\api\auth.ts:9:1) at Module._compile (node:internal/modules/cjs/loader:1256:14)
注意:开发/生产环境下Web应用和API可正常运行,仅在单元测试或自定义工具调用API时触发错误。
已尝试的解决方法
- 通过yarn/npm升降级
@auth/sequelize-adapter及相关依赖版本 - 手动修改
@auth/sequelize-adapter包内的package.json导出配置 - 切换Node.js 16、18、20版本测试
以上方法均未解决问题。
复现步骤
执行package.json中调用服务端API的测试/工具脚本即可触发错误。
预期结果
切换NextAuth.js及Sequelize适配器前,单元测试和自定义工具可正常调用服务端API,希望恢复该功能。
内容的提问来源于stack exchange,提问作者UncleBu
相关产品推荐
相关产品推荐

