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

Expo SDK 52(Hermes)环境下使用AWS SDK v3的@aws-sdk/client-cognito-identity-provider时出现‘Requiring unknown module ‘undefined’’错误

Expo SDK 52(Hermes)环境下使用AWS SDK v3的@aws-sdk/client-cognito-identity-provider时出现‘Requiring unknown module ‘undefined’’错误

兄弟,我之前在Expo SDK52搭配Hermes用AWS SDK v3的时候也碰到过类似的“未知模块”错误,给你分享几个亲测有效的排查和解决思路:

  • 删掉旧版AWS SDK,避免版本冲突
    我看你代码里还导入了aws-sdk(v2版本),这玩意儿和v3是完全不兼容的,很容易导致模块加载混乱。先把代码里的import AWS from 'aws-sdk';删掉,然后执行npm uninstall aws-sdk(用yarn的话就yarn remove aws-sdk),彻底移除v2的依赖。

  • 补全Hermes需要的Polyfill
    Hermes不像旧的JSC引擎那样自带全量的浏览器API兼容层,AWS SDK v3的部分模块需要额外的polyfill才能正常跑:

    1. 先安装必要的依赖:
      npm install @aws-sdk/util-user-agent-browser react-native-get-random-values
      
    2. 然后在项目的入口文件(比如App.js)最顶部导入polyfill:
      import 'react-native-get-random-values';
      

    这一步很关键,我之前就是因为漏了这个polyfill,卡了好久。

  • 检查环境变量配置,别写半截!
    你代码里的accessKeyId: process.env.EXPO_PUBLIC_A明显没写完啊😂,先确认你的环境变量名是不是拼写错了(比如应该是EXPO_PUBLIC_AWS_ACCESS_KEY_ID),然后检查.env文件里有没有正确设置这些变量,最后一定要重启Expo开发服务器(记得加-c清除缓存:expo start -c),不然环境变量不会生效。

    另外提醒一句:React Native/Expo里别直接硬编码AWS凭证,建议用Cognito身份池获取临时凭证,安全得多!

  • 确保客户端配置完整无误
    给你个正确的Cognito客户端配置示例,参考着改:

    import { CognitoIdentityProviderClient } from '@aws-sdk/client-cognito-identity-provider';
    import { LambdaClient } from '@aws-sdk/client-lambda';
    
    export const cognitoClient = new CognitoIdentityProviderClient({
      region: process.env.EXPO_PUBLIC_AWS_REGION,
      credentials: {
        accessKeyId: process.env.EXPO_PUBLIC_AWS_ACCESS_KEY_ID,
        secretAccessKey: process.env.EXPO_PUBLIC_AWS_SECRET_ACCESS_KEY,
      },
    });
    
  • 终极杀招:清缓存重跑
    如果上面的步骤都试了还是不行,那大概率是缓存搞的鬼:

    1. 先执行expo start -c清除Expo的缓存;
    2. 要是还不行,就删掉node_modules和package-lock.json(或yarn.lock),重新安装依赖:
      rm -rf node_modules package-lock.json
      npm install
      

备注:内容来源于stack exchange,提问作者Pasquale Fioretti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 17:38:11