eas build打包报错:amazon-cognito-identity-js未关联?安装后仍无效
修复 'Could not find a native getRandomBase64 implementation' 错误的步骤
匹配依赖版本
amazon-cognito-identity-js 和 @aws-amplify/auth 版本必须兼容,版本不匹配会导致底层依赖冲突。执行以下命令查看当前版本:yarn list @aws-amplify/auth amazon-cognito-identity-js若版本不兼容(比如Amplify v6对应amazon-cognito-identity-js 6.x,v5对应5.x),卸载重装对应版本:
yarn remove amazon-cognito-identity-js yarn add amazon-cognito-identity-js@对应版本号添加Expo随机数Polyfill
Expo Managed项目默认不支持amazon-cognito-identity-js依赖的原生随机数模块,需安装expo-random提供替代实现:yarn add expo-random在项目入口文件(如App.js/index.js)顶部导入该包:
import 'expo-random';清除缓存并重建
缓存残留可能导致依赖未正确加载,执行以下命令清理后重新构建:# 清除Expo本地缓存 npx expo start --clear # 清除EAS构建缓存 eas build --clear-cache # 重新执行本地构建 eas build --local验证Amplify初始化配置
确保Amplify初始化时正确加载了Auth配置,检查amplifyconfiguration.json中Auth模块配置完整,且初始化代码正确:import { Amplify } from 'aws-amplify'; import amplifyconfig from './amplifyconfiguration.json'; Amplify.configure(amplifyconfig);确认Auth导入路径
必须从aws-amplify导入Auth模块,而非直接从amazon-cognito-identity-js导入:// 正确 import { Auth } from 'aws-amplify'; // 错误 import { Auth } from 'amazon-cognito-identity-js';
内容的提问来源于stack exchange,提问作者A.J. Peppers
相关产品推荐
相关产品推荐

