Expo React Native应用ExpoLocalization原生模块找不到问题求助
解决Expo React Native中"Cannot find native module 'ExpoLocalization'"错误
问题背景
我正在为Expo React Native应用实现本地化功能,i18n.js代码如下:
import { getLocales } from 'expo-localization'; import { I18n } from 'i18n-js'; // 配置多语言键值对 const i18n = new I18n({ en: { welcome: 'Hello' }, lt: { welcome: 'Labas' }, }); // 初始化应用语言 i18n.locale = getLocales()[0].languageCode; console.log(i18n.t('welcome'));
已执行的安装命令:
npm install expo-localization npx expo install i18n-js
使用npx expo start启动应用时,出现错误:
Cannot find native module 'ExpoLocalization', js engine: hermes
package-lock.json中相关依赖版本:
"i18n-js": "^4.4.3", "expo-localization": "~15.0.3",
已尝试在app.json中配置jsEngine: "hermes",但问题未解决。
可行解决建议
- 使用Expo Go客户端运行项目:expo-localization是Expo原生模块,若项目已eject为裸React Native项目,需手动配置原生依赖:iOS执行
npx pod-install,Android同步Gradle。建议优先使用managed workflow,通过Expo Go客户端测试。 - 清除缓存并重启项目:执行以下命令彻底清除Expo缓存,同时关闭Expo Go客户端后重新扫码加载:
npx expo start --clear - 校验版本兼容性:expo-localization@15.0.3对应Expo SDK 49版本,检查app.json中的
expo.sdkVersion是否匹配。若版本不兼容,安装与当前SDK匹配的expo-localization版本:npx expo install expo-localization@[对应SDK版本的版本号] - 确认运行环境:expo-localization不支持Web环境,确保在iOS/Android模拟器或真机上运行项目,而非Web预览。
- 检查导入语句:确认
import { getLocales } from 'expo-localization';拼写无误,没有路径错误。
内容的提问来源于stack exchange,提问作者vytaute
相关产品推荐
相关产品推荐

