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


当前回答

我的工作是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地址。

其他回答

解决错误No bundle URL present by:

在你的项目根目录中运行以下命令删除iOS构建目录,并在重新构建之前杀死其他React Native会话(假设它们运行在默认端口8081上):

Rm -rf ios/build/;Kill $(lsof -t:8081);react-native run-ios

更新你的React Native工作流,通过将上述命令组合成一个别名,并将其附加到你的Bash配置文件.bashrc,以避免这些错误发生:

Echo "alias rni=\"kill \$(lsof -t -i:8081);Rm -rf ios/build/;React-native run-ios\"" >> ~/.bashrc;源~ / . bashrc

现在你可以用一个简单的别名快捷方式运行React Native iOS构建(不用担心出现一些常见的红色死亡错误屏幕):

rni

试着运行这段代码:

$ sudo xcodebuild -license

这可能会解决问题。这对我很有用。

这是因为你可能已经关闭了地铁捆绑窗口,或者它可能崩溃了。只需在项目目录下打开另一个终端/cmd并运行NPM start。通过运行npm start React Native将再次启动MetroBundler窗口。在捆绑器完成BUNDLE过程后,只需重新加载应用程序,您就可以开始了。

我也遇到了这个问题(第一次开始使用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

...发生这种情况的另一个原因是,如果你已经安装了Visual Studio Code React Native Tools,但你一直试图在终端中使用React Native:它第一次会工作,但随后它会停止并显示红色的no bundle屏幕。

从vscode启动react native工作得很好…