【问题标题】:Sentry.io on Next.Js + Serverless: Module not found: Error: Can't resolve 'webpack'Next.Js + Serverless 上的 Sentry.io:找不到模块:错误:无法解析“webpack”
【发布时间】:2021-10-27 12:50:49
【问题描述】:

使用自动向导添加 Sentry.io 后(它在 package.json 中添加了 "@sentry/nextjs": "^6.11.0"),我无法再构建我的 Next.js 项目。

> npm run build
(...)
Error: Command failed with exit code 1: node_modules/.bin/next build
warn  - No ESLint configuration detected. Run next lint to begin setup
Failed to compile.
ModuleNotFoundError: Module not found: Error: Can't resolve 'webpack' in '/builds/group/project/web/node_modules/@next/react-refresh-utils'
(...)
info  - Using webpack 5. Reason: Enabled by default https://nextjs.org/docs/messages/webpack5

我尝试npm install --save-dev webpack,但我遇到了其他错误,例如

./node_modules/fsevents/fsevents.node
Module parse failed: Unexpected character '�' (1:0)

我该如何解决这个问题?

[编辑] 我还使用无服务器组件 @sls-next/serverless-component@3.2.0 在 AWS 上进行部署。 我的 next.config.js 包含:

const moduleExports = { target: 'serverless' };

【问题讨论】:

  • 你可以删除你的 node_modules 文件夹并重新安装依赖项,也许有些东西搞混了
  • 刚试过但同样的错误“无法解析'webpack'”
  • 它是否创建或修改了 webpack、babel 或 ts 配置?

标签: next.js serverless-framework sentry


【解决方案1】:

检查项目根文件夹中的 next.config.js 文件。

根据本指南,那里需要进行一些更改,也许向导弄错了:https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/

如果需要,请在此处发布文件内容以获得更多帮助。

【讨论】:

    【解决方案2】:

    找到了。问题是由于与无服务器框架冲突。

    如https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/ 中所述

    我刚刚将useServerlessTraceTarget: true 添加到serverless.yml:

    project:
      component: "@sls-next/serverless-component@3.2.0"
      inputs:
        useServerlessTraceTarget: true
        (...)
    

    【讨论】:

    • 我面临同样的问题。我应该创建一个名为 serverless.yml 的文件吗?
    猜你喜欢
    • 2021-11-04
    • 1970-01-01
    • 2017-07-10
    • 2016-12-10
    • 2017-12-28
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    相关资源
    最近更新 更多