我正在尝试学习,React Native
所以我继续并按照官方文档站点上的入门指南中的所有步骤进行操作。我有一些经验,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 以排除旧版本的问题。新版本也出现相同的错误)当时和现在的区别:
其他一切都是一样的。我也尝试了几个全新安装 - 从头开始,即但它没有用。
我的 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 cache clean --force
npm install
npm start -- --reset-cache
react-native run-android
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句