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

重装node_modules后AWS Amplify项目出现报错求助

问题解决方案

一、处理AWS Amplify依赖冲突

你的package.json同时存在@aws-amplify/react-native(v1.0.27)和旧版aws-amplify-react-native(v7.0.8),这两个包属于Amplify不同版本体系,会直接导致模块加载混乱,是引发两个错误的核心原因:

  1. 卸载冲突包:
    npm uninstall @aws-amplify/react-native aws-amplify-react-native
    
  2. 重新安装适配Expo 50的官方推荐包:
    npm install aws-amplify @aws-amplify/react-native
    
    注:Amplify v6版本中,原aws-amplify-react-native的功能已整合到@aws-amplify/react-native,无需单独安装旧包。

二、修复"main"未注册错误

该错误由依赖加载失败引发,配合以下操作彻底清理缓存:

  1. 删除本地依赖和锁文件:
    rm -rf node_modules package-lock.json yarn.lock
    
  2. 清除Metro开发服务器缓存并重启:
    npx expo start --clear
    
  3. 确认package.json中main字段配置正确:你的"main": "node_modules/expo/AppEntry.js"是Expo项目标准配置,无需修改。

三、解决putVocabularies undefined错误

这个错误是因为Amplify v6对@aws-amplify/interactions的调用方式做了变更,旧调用路径已失效:

  1. 检查代码中调用putVocabularies的位置,改用v6的标准调用方式:
    import { Interactions } from 'aws-amplify';
    
    await Interactions.putVocabularies({ /* 传入你的参数 */ });
    
  2. 你的@aws-amplify/interactions(v6.0.26)与aws-amplify(v6.0.26)版本匹配,依赖冲突解决后即可正常加载模块。

四、额外优化建议

你的package.json包含一些Expo项目无需手动安装的依赖,可能干扰Metro运行,建议卸载:

npm uninstall @react-native/metro-babel-transformer @react-native/metro-config metro-runtime

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 22:08:10