You need to enable JavaScript to run this app. React Native Amplify添加Lambda后运行npm start报重复文件错误如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

React Native Amplify添加Lambda后运行npm start报重复文件错误如何解决?

报错原因

该报错由React Native的Metro打包工具触发,默认配置下Metro会扫描项目根目录下所有文件,你存放在Amplify Lambda函数目录内的node_modules和项目根目录的node_modules存在同名模块,被识别为重复文件导致启动失败。

解决方案

按以下三步操作即可解决:

  1. 修改Metro配置文件
    在项目根目录新建/编辑metro.config.js文件,添加目录忽略规则:
const { getDefaultConfig } = require('expo/metro-config');

const config = getDefaultConfig(__dirname);

// 匹配所有Amplify Lambda函数下的node_modules目录,加入扫描忽略列表
config.resolver.blockList = [
  ...config.resolver.blockList,
  /amplify\/backend\/function\/.*\/node_modules\/.*/,
];

module.exports = config;
  1. 配置Expo忽略规则
    在项目根目录新建/编辑.expoignore文件,添加如下行:
amplify/backend/function/**/node_modules
  1. 清理缓存重启服务
    执行以下命令清空Metro缓存并启动项目:
    npx expo start --clear

如果上述操作后仍有报错,可以额外执行npm cache clean --force清理npm缓存,再重新安装根目录依赖后启动即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 10:06:00