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

初始化Supabase时出现URL.hostname未实现(Hermes引擎)错误求助

Expo + Supabase 初始化报错:URL.hostname is not implemented, js engine: hermes

问题场景

开发Expo项目时,尝试用Supabase实现登录/注册认证逻辑,未初始化Supabase时项目正常加载,但取消注释初始化代码后出现以下错误:

ERROR Error: URL.hostname is not implemented, js engine: hermes

使用的Supabase初始化代码:

import {createClient} from "@supabase/supabase-js";

const supabaseUrl = "...";
const supabaseKey = "...";

export const supabase = createClient(supabaseUrl, supabaseKey);

已确认所有依赖正确安装,且Supabase、Expo均为最新版本。

解决方法

  • 安装URL Polyfill(推荐方案)
    Hermes引擎默认未完全实现URL API,需要补充polyfill:

    1. 安装依赖:
      npx expo install react-native-url-polyfill
      
    2. 在项目入口文件(如App.js)最顶部导入polyfill:
      import 'react-native-url-polyfill/auto';
      
    3. 重启Expo项目即可。
  • 临时切换到JSC引擎
    如果不想配置polyfill,可临时改用JSC引擎:
    修改app.json中的Expo配置:

    {
      "expo": {
        "jsEngine": "jsc"
      }
    }
    

    注:JSC性能不如Hermes,仅建议作为临时测试方案。

  • 检查Supabase URL格式
    确认supabaseUrl是完整的HTTPS格式(如https://xxx.supabase.co),不能缺少https://协议头,否则客户端解析URL时会触发错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 08:45:59