如何调试此错误:“错误:错误:resolveDependencies:在 <metro 捆绑程序的本地路径> 中找到重复的依赖项键“未定义”” - RN 0.70

Lor*_*ley 5 upgrade react-native metro-bundler react-native-community

将 React Native 从 0.69.5 更新到 0.70.3。

应用程序在两个平台上构建,但当它在 Metro 上运行时会出现此错误。

error: Error: resolveDependencies: Found duplicate dependency key 'undefined' in /Users/LA/Repo/sb-app/index.js at resolveDependencies (/Users/LA/Repo/sb-app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/graphOperations.js:484:13)

error: Error: resolveDependencies: Found duplicate dependency key 'undefined' in /Users/LA/Repo/sb-app/index.js
    at resolveDependencies (/Users/LA/Repo/sb-app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/graphOperations.js:484:13)
    at processModule (/Users/LA/Repo/sb-app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/graphOperations.js:232:31)
    at async traverseDependenciesForSingleFile (/Users/LA/Repo/sb-app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/graphOperations.js:221:3)
    at async Promise.all (index 0)
    at async initialTraverseDependencies (/Users/LA/Repo/sb-app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/graphOperations.js:204:3)
    at async DeltaCalculator._getChangedDependencies (/Users/LA/Repo/sb-app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/DeltaCalculator.js:208:25)
    at async DeltaCalculator.getDelta (/Users/LA/Repo/sb-app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler/DeltaCalculator.js:90:16)
    at async DeltaBundler.buildGraph (/Users/LA/Repo/sb-app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/DeltaBundler.js:56:5)
    at async IncrementalBundler.buildGraphForEntries (/Users/LA/Repo/sb-app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/IncrementalBundler.js:81:19)
    at async IncrementalBundler.buildGraph (/Users/LA/Repo/sb-app/node_modules/@react-native-community/cli-plugin-metro/node_modules/metro/src/IncrementalBundler.js:161:19)
Run Code Online (Sandbox Code Playgroud)

遵循错误文件位置只会将我带到“抛出”语句,当然,index.js 或 app.tsx 上没有重复的依赖项,因为我假设错误只是向上抛出到该文件。我认为...

不管怎样,这已经困扰了我和我的团队两天,希望其他人可能也遇到过这个问题并知道如何调试它。关键undefined是有0%的帮助。

我还没有在 stack 或 github 上看到这个错误,所以将其发布在这里。

Kir*_*kov 3

这是已知问题,请尝试按照 Metro GitHub 存储库中的说明来解决此问题https://github.com/facebook/metro/issues/857