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

求解决Supabase.js与Expo SDK 53兼容问题的方案

修复Expo启动时ws包导入Node stream模块的报错

以下是几个可行的修复方案,按优先级尝试:

  • 方案1:用browserify替代Node的stream模块

    1. 安装兼容浏览器/Expo环境的stream实现:
      npm install stream-browserify --save-dev
      
    2. 修改metro.config.js(没有则在项目根目录新建),配置metro解析时将stream指向stream-browserify:
      const { getDefaultConfig } = require('@expo/metro-config');
      const config = getDefaultConfig(__dirname);
      
      config.resolver.extraNodeModules = {
        stream: require.resolve('stream-browserify'),
      };
      
      module.exports = config;
      
  • 方案2:调整ws包版本
    部分ws新版本对Expo环境兼容性不佳,尝试降级或升级:

    • 降级到稳定兼容版本:
      npm install ws@7.5.9 --save
      
    • 或升级到最新兼容版本:
      npm update ws
      
  • 方案3:彻底清除缓存重启
    执行以下命令清除Expo和npm缓存后重新启动项目:

    npx expo start --clear
    rm -rf node_modules && npm install # 可选,彻底重装依赖
    
  • 方案4:用babel别名指定stream路径(可选)
    如果方案1不生效,可通过babel配置别名:

    1. 安装babel插件:
      npm install babel-plugin-module-resolver --save-dev
      
    2. 修改babel.config.js:
      module.exports = function(api) {
        api.cache(true);
        return {
          presets: ['babel-preset-expo'],
          plugins: [
            [
              'module-resolver',
              {
                alias: {
                  stream: 'stream-browserify',
                },
              },
            ],
          ],
        };
      };
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 04:03:14