Next.js 将NextJS部署到Vercel失败

Next.js 将NextJS部署到Vercel失败,next.js,vercel,next-auth,Next.js,Vercel,Next Auth,我正在尝试将一个应用程序部署到Vercel,并在生成时收到此错误 14:13:58.168克隆github.com/ChrisB007/moodflics(分支:main,提交:7a2acfe) 14:13:58.575克隆已完成:406.06毫秒 14:13:58.624正在分析源代码。。。 14:13:59.946正在安装生成运行时。。。 14:14:03.139安装的生成运行时:3.193s 14:14:07.055未提供生成缓存 14:14:08.517正在安装依赖项。。。 14:14

我正在尝试将一个应用程序部署到Vercel,并在生成时收到此错误

14:13:58.168克隆github.com/ChrisB007/moodflics(分支:main,提交:7a2acfe)
14:13:58.575克隆已完成:406.06毫秒
14:13:58.624正在分析源代码。。。
14:13:59.946正在安装生成运行时。。。
14:14:03.139安装的生成运行时:3.193s
14:14:07.055未提供生成缓存
14:14:08.517正在安装依赖项。。。
14:14:09.142 npm WARN read shrinkwrap此版本的npm与兼容lockfileVersion@1,但已为生成package-lock.jsonlockfileVersion@2. 我会尽力做到最好!
14:14:23.664 npm警告moodflics@0.1.0没有存储库字段。
14:14:23.676 npm警告可选跳过可选依赖项:fsevents@2.3.2(节点\单元模块/fsevents):
14:14:23.677 npm WARN notsup跳过可选依赖项:不支持的平台fsevents@2.3.2:通缉{“os”:“darwin”,“arch”:“any”}(当前:{“os”:“linux”,“arch”:“x64”})
14:14:23.681在14.582s中添加了来自281名参与者的387个包
14:14:23.836 62个项目正在寻求资金支持
14:14:23.836运行“npm基金”了解详细信息
14:14:23.861检测到Next.js版本:10.2.0
14:14:23.864运行“npm运行构建”
14:14:24.144    > moodflics@0.1.0build/vercel/path0
14:14:24.144>下一次生成
14:14:24.557警告-需要React 17.0.1或更高版本才能利用Next.js 11中即将推出的所有功能。阅读更多:https://nextjs.org/docs/messages/react-version
14:14:24.912信息-使用网页5。原因:next.config.js中没有自定义网页包配置https://nextjs.org/docs/messages/webpack5
14:14:25.052信息-检查类型的有效性。。。
14:14:25.068注意:Next.js现在收集有关使用情况的完全匿名遥测数据。
14:14:25.068此信息用于塑造Next.js的路线图并确定功能的优先级。
14:14:25.068通过访问以下URL,您可以了解更多信息,包括如果您不想参与此匿名计划,如何选择退出:
14:14:25.068    https://nextjs.org/telemetry
14:14:25.123信息-创建优化的生产构建。。。
14:14:29.905未能编译。
14:14:29.906 ModuleNotFoundError:未找到模块:错误:无法解析“/vercel/path0/pages”中的“下一次身份验证/客户端”
14:14:29.906>发生生成错误
14:14:29.907错误:>由于网页包错误,生成失败
14:14:29.907at/vercel/path0/node_modules/next/dist/build/index.js:17:924
14:14:29.907异步Span.traceAsyncFn(/vercel/path0/node_modules/next/dist/telemetry/trace/trace.js:6:584)
14:14:29.946 npm错误!代码失效循环
14:14:29.947 npm错误!错误1
14:14:29.951 npm错误!moodflics@0.1.0build:`下一个build`
14:14:29.951 npm错误!退出状态1
14:14:29.951 npm错误!
14:14:29.951 npm错误!失败moodflics@0.1.0构建脚本。
14:14:29.951 npm错误!这可能不是npm的问题。上面可能还有其他日志输出。
14:14:29.959 npm错误!此运行的完整日志可在以下位置找到:
14:14:29.959 npm错误/vercel/.npm/_logs/2021-05-10T18_14_29_952Z-debug.log

14:14:29.972错误:命令“npm run build”以1退出
无法解析下一次身份验证/客户端

ModuleNotFoundError:找不到模块:错误:无法解析“/vercel/path0/pages”中的“下一个身份验证/客户端”
确保下一次身份验证作为依赖项而不是开发人员依赖项正确安装。同时升级您的react版本,它会发出警告,说明它不是17.01或更高版本。如果您使用的是typescript,请按照typescript命名空间文档中的指示,尝试通过下一个auth命名空间进行模块扩充。例如,的@/types/next.d.ts文件和@/types/next-auth.d.ts文件

在本地,我也使用nextuth,并且在我的
@/types/next.d.ts
文件中有以下内容:


import type { NextComponentType, NextPageContext } from 'next';
import type { Session } from 'next-auth';
import type { Router } from 'next/router';

declare module 'next/app' {
    type AppProps<P = Record<string, unknown>> = {
        Component: NextComponentType<NextPageContext, any, P>;
        router: Router;
        __N_SSG?: boolean;
        __N_SSP?: boolean;
        pageProps: P & {
            /** Initial session passed in from getServerSideProps or getInitialProps */
            session?: Session;
        };
    };
}

它无法解析下一个身份验证/客户端

ModuleNotFoundError:找不到模块:错误:无法解析“/vercel/path0/pages”中的“下一个身份验证/客户端”
确保下一次身份验证作为依赖项而不是开发人员依赖项正确安装。同时升级您的react版本,它会发出警告,说明它不是17.01或更高版本。如果您使用的是typescript,请按照typescript命名空间文档中的指示,尝试通过下一个auth命名空间进行模块扩充。例如,的@/types/next.d.ts文件和@/types/next-auth.d.ts文件

在本地,我也使用nextuth,并且在我的
@/types/next.d.ts
文件中有以下内容:


import type { NextComponentType, NextPageContext } from 'next';
import type { Session } from 'next-auth';
import type { Router } from 'next/router';

declare module 'next/app' {
    type AppProps<P = Record<string, unknown>> = {
        Component: NextComponentType<NextPageContext, any, P>;
        router: Router;
        __N_SSG?: boolean;
        __N_SSP?: boolean;
        pageProps: P & {
            /** Initial session passed in from getServerSideProps or getInitialProps */
            session?: Session;
        };
    };
}
  • 删除
    节点\u模块
    并运行
    纱线安装
  • 然后进行
    纱线构建
  • 如果使用
    npm
    ,则执行
    npm i
    npm运行构建
    ,而不是
    纱线安装
    纱线构建
  • 然后部署
      • 删除
        节点\u模块
        并运行
        纱线安装
      • 然后进行
        纱线构建
      • 如果使用
        npm
        ,则执行
        npm i
        npm运行构建
        ,而不是
        纱线安装
        纱线构建
      • 然后部署

      有时Vercel会采取有线行动,让我的代码在本地运行(npm运行dev),但在上传后失败。当我使用Github automatic deployment时会发生这种情况,即我直接推送到我的Github repo,然后Vercel自动构建和更新


      但是,使用Vercel CLI解决了我的问题。运行vercel进行预览,然后运行vercel--prod进行生产部署

      有时vercel会在本地运行我的代码(npm run dev),但上传后失败。当我使用Github automatic deployment时会发生这种情况,即我直接推送到我的Github repo,然后Vercel自动构建和更新

      但是,使用Vercel CLI解决了我的问题。运行vercel进行预览,然后运行vercel--prod进行部署