gpt4 book ai didi

android - React Native 错误 'Unable to resolve module ` react-native` '

转载 作者:行者123 更新时间:2023-12-05 08:20:27 25 4
gpt4 key购买 nike

我正在尝试学习 React Native,所以我继续并按照 Getting Started 中的所有步骤进行操作官方文档站点上的指南。我对 React 有一些经验,所以我想扩展它。

大约 6 个月前,我确实涉足了一个简单的“hello world”应用程序,并且在 Android 模拟器和 IoS 模拟器上一切对我来说都运行良好。也在我的设备上进行了测试,没有任何问题。由于忙于其他工作,直到现在我才回来。

当我尝试 react-native run-android 命令时出现的错误:

    Metro Bundler ready.

Loading dependency graph, done.
error: bundling failed: Error: Unable to resolve module `react-native` from `/Users/arunmenon/Sites/reactnative/website/index.js`: Module `react-native` does not exist in the Haste module map or in these directories:
/Users/arunmenon/Sites/reactnative/website/node_modules

This might be related to https://github.com/facebook/react-native/issues/4968
To resolve try the following:
1. Clear watchman watches: `watchman watch-del-all`.
2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.
3. Reset Metro Bundler cache: `rm -rf /tmp/metro-bundler-cache-*` or `npm start -- --reset-cache`. 4. Remove haste cache: `rm -rf /tmp/haste-map-react-native-packager-*`.
at ModuleResolver.resolveDependency (/Users/arunmenon/Sites/reactnative/website/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:161:1460)
at ResolutionRequest.resolveDependency (/Users/arunmenon/Sites/reactnative/website/node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:91:16)
at DependencyGraph.resolveDependency (/Users/arunmenon/Sites/reactnative/website/node_modules/metro/src/node-haste/DependencyGraph.js:272:4579)
at dependencies.map.relativePath (/Users/arunmenon/Sites/reactnative/website/node_modules/metro/src/DeltaBundler/traverseDependencies.js:376:19)
at Array.map (<anonymous>)
at resolveDependencies (/Users/arunmenon/Sites/reactnative/website/node_modules/metro/src/DeltaBundler/traverseDependencies.js:374:16)
at /Users/arunmenon/Sites/reactnative/website/node_modules/metro/src/DeltaBundler/traverseDependencies.js:212:33
at Generator.next (<anonymous>)
at step (/Users/arunmenon/Sites/reactnative/website/node_modules/metro/src/DeltaBundler/traverseDependencies.js:297:313)
at /Users/arunmenon/Sites/reactnative/website/node_modules/metro/src/DeltaBundler/traverseDependencies.js:297:473
BUNDLE [android, dev] ./index.js ░░░░░░░░░░░░░░░░ 0.0% (0/1), failed.

我尝试了所有建议的步骤,但问题仍然存在。错误:

Error: Unable to resolve module `react-native` from `/Users/arunmenon/Sites/reactnative/website/index.js`: 
Module `react-native` does not exist in the Haste module map or in these directories:
/Users/arunmenon/Sites/reactnative/website/node_modules

表明从 node_modules 中获取路径似乎存在某种问题。 index.js 中的第一行是 import { AppRegistry } from 'react-native'; 这就是抛出错误的地方。

提到的路径是有效的,我确实在路径中的 node_modules 目录中安装了 react-native。

我在 Mac 上开发,目标设备目前是 Android。我将使用 react-native CLI 命令路由,而不是 create-react-native-app 路由。

我有 Android Studio 3.1.3(昨晚更新)、Node 8.11.2、NPM 6.1.0、Watchman 4.9.0(通过 Homebrew 安装)、Java JDK 1.8.0_144。

我按照入门指南进行了 T 操作。因为我开始工作的时间较早 - 大约 6 个月前 - 我想知道为什么我现在才得到这个。我有与当时相同的 Android Studio 版本(我昨天更新了 Android Studio 以排除旧版本的问题。我在新版本中也遇到了同样的错误)当时和现在的区别:

  • React-native 库版本从那时起明显提升了
  • Java版本,我最近更新到最新
  • Node 和 NPM 版本较新
  • Watchman 我想也是因为 Homebrew 确实更新了它

其他都是一样的。我也尝试了几个全新安装 - 从头开始​​,但它没有用。

我的 package.json:

{
"name": "website",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "16.3.1",
"react-native": "0.55.4"
},
"devDependencies": {
"babel-jest": "23.2.0",
"babel-preset-react-native": "4.0.0",
"jest": "23.2.0",
"react-test-renderer": "16.3.1"
},
"jest": {
"preset": "react-native"
}
}

最佳答案

请从“%appdata%\Temp”中删除所有 react-native 特定文件夹,然后尝试以下命令:

cd android
gradlew clean
cd.. 并删除 node_modules 文件夹
npm 缓存清理 --force
npm 安装
npm 启动 -- --reset-cache
react-native run-android

关于android - React Native 错误 'Unable to resolve module ` react-native` ',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51111765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com