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

Expo本地集成Sentry异常,enableNative设值均失效,求本地错误测试方案

解决 Expo 本地 Sentry 运行故障并测试错误

故障原因说明

  • 设enableNative: true报错:Expo Go 本地开发环境未预集成 Sentry 原生 SDK,找不到原生客户端实例
  • 设enableNative: false警告:JS 端 Sentry 初始化后,默认会尝试拉取原生 SDK 信息,同时未启用原生时部分事件会被拦截

适配本地开发的配置调整

修改 Sentry 初始化代码,区分开发/生产环境,同时禁用原生信息自动检索以消除警告:

import * as Sentry from 'sentry-expo';
import Constants from 'expo-constants';

Sentry.init({
  dsn: SENTRY_DSN,
  environment: Constants.manifest.releaseChannel || 'development',
  enableNative: __DEV__ ? false : true, // 本地开发禁用原生,生产环境启用
  debug: __DEV__,
  enableNativeNagger: false, // 关闭原生缺失提示
});

本地测试错误的具体方法

  • 手动触发 JS 错误:在任意组件中添加测试代码,触发后即可验证捕获效果:
    const testSentryCapture = () => {
      throw new Error('测试 Sentry JS 错误捕获');
    };
    
  • 验证捕获状态:开启debug: true后,查看 Metro 终端日志,若出现Event sent successfully字样,说明 JS 端捕获正常
  • 查看错误数据:打开 Sentry 后台对应项目的development环境,即可看到捕获到的测试错误

额外注意事项

  • 必须使用sent-expo包而非普通@sentry/react-native,前者专为 Expo 生态优化
  • 本地开发无需手动集成原生 Sentry SDK,Expo 生产构建(eas build)会自动处理原生端集成

内容的提问来源于stack exchange,提问作者rap-2-h

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 15:53:15