You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js 14.0.4集成Sentry后执行npm run build失败求助

解决方案:Next.js 14集成Sentry后构建失败问题

问题分析

构建失败核心原因有两个:

  1. 隧道路由与静态导出冲突:你的Next.js配置了output: 'export'(静态导出模式),但Sentry的tunnelRoute选项依赖服务端运行能力,静态导出环境无法支持该功能,这是第一个报错的直接原因。
  2. Sentry CLI创建Release失败:CLI执行releases new命令失败,大概率是认证缺失、配置不匹配或Release名称重复导致。

步骤1:修复隧道路由冲突

修改next.config.js,移除tunnelRoute配置项(静态导出模式不支持该功能),同时修正图片域名的多余斜杠:

// next.config.js
const { withSentryConfig } = require("@sentry/nextjs");

const nextConfig = {
  output : 'export',
  reactStrictMode: false,
  swcMinify: true,
  trailingSlash: true,
  images: {
    remotePatterns: [
      {
        protocol: "https",
        hostname: "185.243.48.21", // 移除末尾多余的斜杠,避免图片加载异常
        pathname: "/**",
      },
    ],
    unoptimized: true,
  },
  eslint: {
    ignoreDuringBuilds: true,
  },
};

module.exports = withSentryConfig(
  nextConfig,
  {
    silent: true,
    org: "pettino",
    project: "tadvin_front",
    url: "https://sentry.hamravesh.com/"
  },
  {
    widenClientFileUpload: true,
    transpileClientSDK: true,
    // 移除 tunnelRoute: "/monitoring"
    hideSourceMaps: true,
    disableLogger: true,
    automaticVercelMonitors: true,
  }
);

步骤2:修复Sentry CLI Release创建失败

方案A:配置认证令牌

在项目根目录创建.env.local文件,添加从Sentry后台用户设置中生成的认证令牌:

SENTRY_AUTH_TOKEN=你的Sentry认证令牌

方案B:禁用自动Release创建

如果不需要自动生成Release,修改withSentryConfig的第二个参数,添加禁用配置:

{
  silent: true,
  org: "pettino",
  project: "tadvin_front",
  url: "https://sentry.hamravesh.com/",
  automaticRelease: false // 添加此行禁用自动创建
}

方案C:手动指定唯一Release名称

若需保留自动创建,手动生成唯一Release名称避免重复:

{
  silent: true,
  org: "pettino",
  project: "tadvin_front",
  url: "https://sentry.hamravesh.com/",
  release: `tadvin-front-${new Date().getTime()}` // 用时间戳生成唯一标识
}

验证修改

完成上述调整后,重新执行npm run build即可正常完成构建。

内容的提问来源于stack exchange,提问作者Saeed Khodajoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 21:46:28