模块AppRegistry未注册可调用模块(调用runApplication)

时间:2017-04-25 07:45:27

标签: react-native native-base

我使用原生基础在反应原生中制作应用程序。我对这两件事都不熟悉。当我运行应用程序它给了我这个错误:

enter image description here

这是我的代码:

export default class Point extends Component {

    render() {
        return (
            <Container>
                <Header>
                    <Left>
                        <Button transparent>
                            <Icon name='menu' />
                        </Button>
                    </Left>
                    <Body>
                        <Title>Header</Title>
                    </Body>
                    <Right />
                </Header>
            </Container>
        );
    }
}

以下是我的版本的截图

enter image description here

和nativebase版本为"native-base": "^2.1.2"

28 个答案:

答案 0 :(得分:34)

只需杀死所有节点进程并启动npm服务器并运行应用程序:

第一步:运行命令killall -9 node

  

对于Windows用户,请运行:taskkill /im node.exe

     

如果该过程仍然存在,请运行taskkill /f /im node.exe

第2步:运行命令npm start

第3步:运行命令react-native run-iosreact-native run-android

答案 1 :(得分:7)

关闭当前的Metro Bundler,然后通过重置对我有用的缓存重新启动

npm start -- --reset-cache

答案 2 :(得分:7)

只需在命令下运行。

react-native start --reset-cache

答案 3 :(得分:6)

您应该在index.ios.js文件的底部 AppRegistry.registerComponent('Point', () => Point); 并从AppRegistry

导入react-native

答案 4 :(得分:3)

对我有用的是只是停止节点服务器运行,然后再次运行'react-native run-ios'

答案 5 :(得分:2)

我遇到了这个问题-这很奇怪,因为我将我的存储库重置为该应用正常运行的时间。问题出在我的模拟器(iOS)上。

对我来说,解决方案是

  1. 杀死模拟器程序(退出)
  2. 然后-关闭运行模拟器时打开的终端窗口(Metro Bundler)Image of my terminal window

答案 6 :(得分:2)

在以下版本和iOS上为我工作

false

解决步骤 关闭当前正在运行的Metro Bundler 尝试重新运行您的Metro Bundler,然后检查该问题是否仍然存在

希望这会有所帮助!

答案 7 :(得分:1)

我在我的应用中使用原生基础是链接native base

你可以看到没有像这样的app注册表

 AppRegistry.registerComponent('Point', () => Point) 

但我必须这样做才能运行我的应用

答案 8 :(得分:1)

我在终端中尝试了killall -9 node命令

然后我再次使用npm start运行项目,并且运行正常

答案 9 :(得分:1)

关闭地铁捆绑器并重建应用程序即可完成我的工作。

答案 10 :(得分:1)

1。关闭仿真器

2.npm开始--重置缓存

3.XCode->产品->清理生成文件夹

4.npx react-native run-ios

答案 11 :(得分:0)

在我的情况下,尝试@media (min-width: 1300px) and (max-width: 1555px) { th { color:brown; } td:nth-child(9),th:nth-child(9) { display: none; } td:nth-child(8),th:nth-child(8) { display: none; } } @media (min-width: 1200px) and (max-width: 1300px) { th { color:brown; } td:nth-child(9),th:nth-child(9) { display: none; } td:nth-child(8),th:nth-child(8) { display: none; } td:nth-child(7),th:nth-child(7) { display: none; } } @media (min-width: 840px) and (max-width: 1200px) { th { color:red; } td:nth-child(9),th:nth-child(9) { display: none; } td:nth-child(8),th:nth-child(8) { display: none; } td:nth-child(7),th:nth-child(7) { display: none; } td:nth-child(6),th:nth-child(6) { display: none; } td:nth-child(4),th:nth-child(4) { display: none; } } @media (min-width: 520px) and (max-width: 840px) { th { color:orange; } td:nth-child(9),th:nth-child(9) { display: none; } td:nth-child(8),th:nth-child(8) { display: none; } td:nth-child(7),th:nth-child(7) { display: none; } td:nth-child(6),th:nth-child(6) { display: none; } td:nth-child(4),th:nth-child(4) { display: none; } td:nth-child(5),th:nth-child(5) { display: none; } } @media (max-width: 520px) { th { color:yellow; } td:nth-child(9),th:nth-child(9) { display: none; } td:nth-child(8),th:nth-child(8) { display: none; } td:nth-child(7),th:nth-child(7) { display: none; } td:nth-child(6),th:nth-child(6) { display: none; } td:nth-child(5),th:nth-child(5) { display: none; } td:nth-child(4),th:nth-child(4) { display: none; } td:nth-child(2),th:nth-child(2) { display: none; } } 并遇到更多错误,我从iOS和Android删除(卸载)了该应用程序,而npm start -- --reset-cache yarn ios做到了这一点。 (如果这对您不起作用,请不要让我失望。鼓励人们讲话,不要劝阻他们。)

答案 12 :(得分:0)

在计算机重新启动以及删除/重建 npm_modules 文件夹、Pods 文件夹和我的 ios 构建文件夹后,我最终创建了一个全新的 react-native 项目。 (退出模拟器、退出终端应用程序、退出 XCode、清理 XCode 中的项目文件夹,以及运行 killall -9 nodenpm start -- reset-cahcenpm start -- --reset-cache 也不起作用)。安装完所有软件包后,我将旧项目中的代码复制并粘贴到新项目中。同样的错误。然后我开始逐步回溯我最近的代码更改。恢复我最近的代码更改后,它起作用了。在一点一点地添加新代码时,我收到一个错误消息,告诉我我忘记了 import {StyleSheet} from 'react-native';。我导入了它,然后继续添加我之前导致错误的代码(它只是一个 react-native-elements Button 和一个 StyleSheet const styles)。一切顺利。

所以,最后,我唯一的理论是我一次添加了太多代码,而不是告诉我我忘记了 import {StyleSheet} {1}} 错误。我希望这会被否决,因为我认为这超出了利基市场,并且可能不是其他任何人的问题。但是对于那些可能帮助他们节省一天中 5 个小时(就像我度过的那样)的 1 个灵魂,我会把它贴在这里......

答案 13 :(得分:0)

就我而言,我没有将模块导入使用该模块的组件中。

因此,只需检查您是否要导入要使用的模块...

答案 14 :(得分:0)

其中一个库尚未链接。 要进行检查,只需在package.json中逐一注释掉添加的最新库。

删除纱线库名称。

然后使用xcode和puf运行应用程序!

答案 15 :(得分:0)

解决方案非常简单,只需杀死所有正在运行的节点并重新启动您的节点服务器并重建您的本机应用程序即可。

对于 Linix:

killall -9 node

对于 Windows:

taskkill /im node.exe

对于安卓原生应用:

react-native run-android 

对于IOS原生应用:

react-native run-ios

最后,

npm start

答案 16 :(得分:0)

只需重新启动您的代码编辑器。

答案 17 :(得分:0)

对于 Windows 操作系统,我也遇到了同样的错误。我通过清理 gradlew 解决了这个问题。

步骤是:

  1. cd android
  2. gradlew clean
  3. cd..

答案 18 :(得分:0)

在我安装一个包含一些需要安装的本机代码的新包后,我往往会收到此错误。通常包会说安装 npm 模块,然后通过 pod install(特定于 ios)安装本机代码,然后我的应用程序通常会抛出这个错误。

为了摆脱这个错误,我删除并重新安装了 node_modules 和 pods,因为我正在制作一个 iOS 应用程序,然后我还删除了 ios 下的 build 文件夹。之后,我使用 npm start -- --reset-cache 运行打包程序,并使用 react-native run-ios 命令再次构建我的应用程序。这为我解决了这个问题。

答案 19 :(得分:0)

您只需要通过 control + c 关闭Metro服务器,然后通过 npm start

重新启动

注意:如果那也行不通,那么只需重新启动计算机,即可运行。

答案 20 :(得分:0)

好的,这是我解决这个问题的方法:

  • npm install native-base @ latest -g

  • npm install react-native @ latest -g

  • 更改这些依赖项的package.json

  • 删除node_modules和npm install

  • 打开Xcode并从头开始构建/运行

我希望它能帮助

答案 21 :(得分:0)

如果您使用的是Windows并正在运行纱线 在管理模式下打开cmd' 通过键入此命令来终止并重新启动节点进程。

查找节点:killall -9节点 强制杀死:taskkill / f / im node.exe 重置缓存:yarn start --reset-cache

导航到项目目录:cd myapp 重新运行您的应用程序:yarn android

答案 22 :(得分:0)

import { AppRegistry } from 'react-native';

AppRegistry.registerComponent('your app name',  () => point);

答案 23 :(得分:0)

  

我正在使用Expo

对于我来说,我通过在app.json文件中添加以下代码解决了该问题

"expo":{
  ...
  "android": {
    "package": "com.mycompanyname.myappname
  }
}

答案 24 :(得分:0)

对我来说,重新启动计算机似乎足以解决此问题。

在分支之间切换或使用git合并分支后,通常需要这样做。

答案 25 :(得分:0)

需要替换

.setJSMainModulePath("index") with .setJSMainModulePath("index.android")

答案 26 :(得分:-1)

删除node_modules并重新安装它可以修复错误(或者至少给了我更具体的错误)

答案 27 :(得分:-2)

我已经解决了,只需关闭当前的Metro Bundler并通过下面的注释重新启动即可。

npm start -- --reset-cache
相关问题