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

Next.js 13.2.1项目遇UnhandledRejection错误:TypeError: trace.getSpan is not a function

修复Next.js中TypeError: trace.getSpan is not a function错误的方案

1. 排查OpenTelemetry依赖冲突

这个错误基本和OpenTelemetry追踪模块的版本冲突有关,Next.js 13.x内置了这套追踪功能,如果你的项目手动装了第三方OpenTelemetry包,很容易出现版本不兼容:

  • 打开package.json,搜索@opentelemetry/*开头的依赖,重点关注@opentelemetry/api和@opentelemetry/tracing
  • 要么直接移除这些第三方包,要么把版本升级到和Next.js内置版本匹配(13.2.1对应的api版本大概是1.4.1)
  • 执行npm dedupe或yarn dedupe清理依赖树里的重复包

2. 禁用Next.js自动追踪功能

如果不需要APM追踪功能,直接在next.config.js里关闭相关配置:

module.exports = {
  experimental: {
    instrumentationHook: false,
    tracing: false,
  },
};

修改完成后重启开发服务器,观察错误是否消失。

3. 检查自定义Instrumentation文件

如果项目里使用了instrumentation.ts/js(Next.js的自定义追踪入口文件),仔细排查代码问题:

  • 调用trace.getSpan之前,确保trace是正确初始化的OpenTelemetry Trace实例
  • 避免在服务器启动前或者非追踪上下文环境中调用该方法

4. 清理缓存并重新构建

缓存文件异常也可能导致依赖加载出错:

  • 删除.next文件夹和node_modules/.cache目录
  • 重新执行npm install或yarn install安装依赖
  • 先运行npm run build或yarn build完成构建,再启动开发服务器

5. 降级Next.js版本测试

13.2.1可能存在已知bug,尝试降级到13.1.x的稳定版本:

npm install next@13.1.6
# 或者使用yarn
yarn add next@13.1.6

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 05:02:38