尝试开始使用 react-native 时遇到错误。

Posted

技术标签:

【中文标题】尝试开始使用 react-native 时遇到错误。【英文标题】:Beset with errors trying getting started with react-native. 【发布时间】:2017-06-08 02:42:16 【问题描述】:

我是新手,开始时遇到了很多麻烦。这是我按顺序遇到的错误列表:

    在包上运行npm install,然后运行react-native run-ios。然后报错:

Command 'run-ios' unrecognized. Make sure that you have run 'npm install' and that you are inside a react-native project.

    运行安装最新的 react-native(根据这个question),解决了问题。

    重新运行模拟器。错误:

Cannot find entry file index.ios.js in any of the roots: ["/Users/Dan/ReactApp/node_modules/react-native/packager"

    运行kill -9 (process Id of server on 8081) && npm start(根据这个question)

    下一个错误:

Cannot read property 'ReactCurrentOwner' of undefined.

    我删除 node_module,运行 npm install,yarn add react-navigation(如果我使用 npm 安装这个模块,我会再次回到第一个错误)。根据this.

    回到 1。

    我放弃并手动将我的代码复制到一个新项目中。

这真是令人沮丧。我究竟做错了什么?

系统信息:

操作系统:OSX 10.12.6 测试版 模拟器:iOS 10.3 XCode:8.3.3 节点:7.4.0 Npm:5.0.3 反应:15.5.4 反应原生:0.45.0 React-Native-Cli:2.0.1

【问题讨论】:

这似乎是一个依赖问题。出于某种原因,我的反应版本设置为 15.5.4,而它应该是 16.0.0.alpha12。 这是 RN 0.45 的一个已知问题 - ***.com/questions/44413022/entry-point-for-packager/… 【参考方案1】:

好的,首先,请确保您位于正确的目录中。这听起来很傻,但它确实发生了。您应该可以ls 并查看 package.json。

如果是这种情况并且它不起作用,请确保您已全局安装 react-native-cli。 npm install -g react-native-cli你用which react-native来验证。

接下来尝试杀死打包程序和 xcode 并重新启动。尝试再次运行它。如果还是不行,再次杀掉xcode和打包器,用'open ios/.xcodeproj'打开项目,点击运行按钮看看它是否有效。

总而言之,我不建议同时使用 npm 和 yarn。坚持一个或另一个。我使用 npm。

错误Cannot find entry file index.ios.js in any of the roots: ["/Users/Dan/ReactApp/node_modules/react-native/packager"

让我相信你不在正确的目录中。

【讨论】:

我很确定我在正确的目录中,因为这是我读过的第一件事,而且我今天必须经历这个过程 5 次。关于 yarn 和 npm,由于某种原因,其中一个软件包无法与 npm 正确安装。我会尝试坚持使用纱线。 如果你这样做npm start -- --reset-cache 它会工作,但你需要每次都这样做。见github.com/facebook/react-native/issues/14246。我认为 RN 会修复这个下一个版本,因为这很痛苦。

以上是关于尝试开始使用 react-native 时遇到错误。的主要内容,如果未能解决你的问题,请参考以下文章

为啥我使用 react-native juspay 开始付款时会出现此错误?

react-native 错误:[未处理的承诺拒绝:错误:获取 Expo 令牌时遇到错误:TypeError:网络请求失败。]

react-native 开始给出 Invalid 正则表达式无效错误

Android模拟器中的React-Native Runnable错误

react-native错误:无法解析模块`AccessibilityInfo`

使用 react-native 的 FlatList 时获取未定义不是对象