【问题标题】:React Native - Unable to resolve module `@babel/runtime/helpers/interopRequireDefault` from 'index.js'React Native - 无法从“index.js”解析模块“@babel/runtime/helpers/interopRequireDefault”
【发布时间】:2019-11-22 07:38:51
【问题描述】:

正如Unable to resolve module `@babel/runtime/helpers/interopRequireDefault` 中所述,我遇到了同样的错误,该问题的解决方案并不能解决我的问题。

React Native - Unable to resolve module `@babel/runtime/helpers/interopRequireDefault` 都没有解决我的问题。

我正在使用

 OS: Windows 10 10.0.18362
    CPU: (8) x64 Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
    Memory: 2.03 GB / 7.92 GB
  Binaries:
    Node: 12.13.1 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.19.1 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 6.12.1 - C:\Program Files\nodejs\npm.CMD
  IDEs:
    Android Studio: Version  3.5.0.0 AI-191.8026.42.35.5977832
  npmPackages:
    react: 16.9.0 => 16.9.0
    react-native: 0.61.4 => 0.61.4

错误提示:

error: bundling failed: Error: Unable to resolve module `@babel/runtime/helpers/interopRequireDefault` from `index.js`: @babel/runtime/helpers/interopRequireDefault could not be found within the project.

If you are sure the module exists, try these steps:
 1. Clear watchman watches: watchman watch-del-all
 2. Delete node_modules: rm -rf node_modules and run yarn install
 3. Reset Metro's cache: yarn start --reset-cache
 4. Remove the cache: rm -rf /tmp/metro-*
    at ModuleResolver.resolveDependency (C:\ReactProjects\testy\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:186:15)
    at ResolutionRequest.resolveDependency (C:\ReactProjects\testy\node_modules\metro\src\node-haste\DependencyGraph\ResolutionRequest.js:52:18)
    at DependencyGraph.resolveDependency (C:\ReactProjects\testy\node_modules\metro\src\node-haste\DependencyGraph.js:282:16)
    at Object.resolve (C:\ReactProjects\testy\node_modules\metro\src\lib\transformHelpers.js:267:42)
    at C:\ReactProjects\testy\node_modules\metro\src\DeltaBundler\traverseDependencies.js:426:31
    at Array.map (<anonymous>)
    at resolveDependencies (C:\ReactProjects\testy\node_modules\metro\src\DeltaBundler\traverseDependencies.js:423:18)
    at C:\ReactProjects\testy\node_modules\metro\src\DeltaBundler\traverseDependencies.js:275:33
    at Generator.next (<anonymous>)
    at asyncGeneratorStep (C:\ReactProjects\testy\node_modules\metro\src\DeltaBundler\traverseDependencies.js:87:24)
 BUNDLE  [android, dev] ./index.js ░░░░░░░░░░░░░░░░ 0.0% (0/1), failed.

该模块存在,我已尝试上述步骤,但仍然无法正常工作。 该应用程序实际上使用消息Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0. 成功构建 当应用程序运行时出现与上述相同的错误。 任何帮助表示赞赏。

【问题讨论】:

  • 我刚刚遇到了同样的问题,没有更改项目中的任何内容。你解决过这个问题吗?
  • @slhck 这有点奇怪,因为今天它对我有用。我从基础再次尝试了整个设置。我什至卸载了节点并按照facebook.github.io/react-native/docs/getting-started 上的每一步操作。我认为它没有任何区别,但与上次的唯一区别是,我这次使用 Windows Terminal 代替了 cmd 和 Gradle 6.0-rc-1
  • 我什至不需要执行“npx react-native start”。它本身运行良好。也许这毕竟是一个 React 问题。
  • 我通过卸载 watchman 让它工作了。见:github.com/facebook/react-native/issues/27712

标签: node.js react-native npm react-native-android npm-start


【解决方案1】:

my case中,问题不是RN引起的,而是watchman引起的。

在修复潜在错误之前,有两种方法可以解决此问题:

首先是卸载watchman

或者手动编辑文件node_modules/jest-haste-map/build/index.js进行更改:

    const crawl =
      canUseWatchman && this._options.useWatchman
        ? _watchman.default
        : _node.default;

收件人:

    const crawl =
      canUseWatchman && this._options.useWatchman
        ? _node.default
        : _node.default;

后者当然不会在软件包升级过程中持续存在。

【讨论】:

    猜你喜欢
    • 2021-11-14
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 2023-02-16
    • 2022-06-10
    • 2022-12-13
    • 1970-01-01
    相关资源
    最近更新 更多