当我运行一个react-native项目时,我得到一个错误,没有bundle URL,但我不知道我做了什么错误,我很困惑。


当前回答

我也遇到了这个问题(第一次开始使用React Native)。当一个ios模拟(react-native run-ios)正在运行时,问题消失了。我运行npm install,然后再次运行react-native run-ios。在终端窗口中,它显示正在捆绑,然后模拟器显示欢迎屏幕。

在react-native init PropertyFinder行之后检查这个链接,尝试使用npm start(这对我来说是有效的)

========================================================================

16.9更新

我的端口8081被McAfee阻塞。直接使用不同的端口不能工作react-native start——port=8082和react-native run-ios——port=8082

几乎所有的解都试过了。但是什么都不管用。

        "react": "16.9.0",
        "react-dom": "^16.12.0",
        "react-native": "0.61.5",

解决方案:

在Xcode中搜索8081,并将它们全部替换为8082。然后运行相同的命令来构建和运行应用程序。应用程序运行顺畅

react-native start --port=8082
react-native run-ios --port=8082

其他回答

当我们有nvm管理的多个版本的节点,而默认版本不是react-native运行的预期版本时,可能会发生此问题。(确保它是Node 8.3或更新版本)

react-native run-ios

打开一个新终端并运行在$PATH中找到的node版本。

如果它发现一个不被react native支持的旧版本的node,它可能会给出这个错误。

确保在打开新终端时,$PATH变量已经指向预期的节点版本(确保它是node 8.3或更新版本)。

这为我解决了问题。祝你好运。

假设你正在使用nvm并且安装了多个版本的node,下面是解决方案:

假设你在节点v6.9.5中运行npm install -g react-native-cli。 现在运行nvm alias default 6.9.5将节点v6.9.5设为默认值 现在运行react-native run-ios

问题是,你通过nvm安装了多个版本的node,为了安装react-native-cli,你已经切换或安装了最新版本的node,它还没有被标记为nvm中的默认节点。当你运行react-native run-ios时,会打开另一个新的终端窗口,其中默认的nvm不会指向你安装react-native-cli的节点版本。只要遵循上面的设置,我希望能有所帮助。

当您不允许通过localhost进行不安全连接时,或者您试图通过http接受不安全连接时,就会发生此问题。

要解决这个问题,在info.plist上添加这个:

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSAllowsArbitraryLoadsInWebContent</key>
        <true/>
        <key>NSAllowsLocalNetworking</key>
        <true/>
    </dict>

解决方案- - - > 然后打开新终端,进入你的项目路径,然后点击 React-native run-ios它适合我

我的工作是RN 0.49.5。 我试过很多方法,但没有一个有效。最后我解决了这个问题。 这很简单。

主要思想是将本地主机更改为127.0.0.1,但这不是RN告诉您的地方。它在RCTBundleURLProvider中。m#- (BOOL)isPackagerRunning:(NSString *)主机。

代码变更: oc - NSString *host = ipGuess ?: @"localhost"; + NSString *host = ipGuess ?: @"127.0.0.1"; 这是好的模拟器。如果是设备,只需将ip地址更改为您机器的ip地址。