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


当前回答

首先关闭模拟器,然后在终端上运行这些程序

npm install

react-native run-ios

其他回答

是什么帮我解决了这个问题:

打开终端窗口 cd到YOUR_PROJECT/ios 使用rm -r build删除build文件夹 再次运行react-native Run -ios

或者,你可以打开Finder,导航到YOUR_PROJECT/ios并删除构建文件夹。

然后再次运行react-native run-ios。

资料来源:Andrew Bancroft

如错误信息所示:

同意Xcode/iOS许可证需要管理员权限,请运行"sudo xcodebuild -license",然后重试此命令。

执行以下命令成功:

sudo xcodebuild -license

原因:

这是因为应用程序无法找到服务器(通过javascript代码为UI服务)。

解决方案:

确保所有相关的react native关闭(不是必要的,只是为了我的解决方案有一个干净的开始,在我的解释后,你可以弄清楚这是需要的还是不需要的) 先运行NPM Run start或yarn start 等待此命令完成工作(通常你会看到加载依赖关系图,完成)。 运行react-native Run -ios/android

解释:

React Native包含2部分: 本地部分 Javascript部分 构建命令: React-native run-ios/android是构建本机部分,然后部署到设备上,并在设备上启动应用程序(模拟器/模拟器/真实设备)。这通常需要3~4分钟才能完成。 npm run start或yarn start是构建javascript部分,并启动开发服务器为应用程序提供构建的UI。这通常需要30秒完成。

通常情况下,javascript部分先完成,然后是本地部分。(根据他们使用的时间)。

=>这只适用于第一次构建(新鲜构建)。

=>重建:

原生部分只需要10~15秒来检查更改,因为在javascript部分构建和服务之前,原生部分=>没有更改。(我不确定javascript部分是否被重建,但它比本地部分花费了更长的时间) 这就是为什么我们有这个问题,应用运行时要求的东西还不存在。

奖金:

React-native run-ios/android会自动启动开发服务器。 这就是为什么当你在react-native init <app_name>之后运行react-native run-ios/android时,一切都运行得很好。(因为自动启动功能和新构建的时间是上面的状态)。 其他“移除”解决方案之所以有效,是因为它们迫使人们重建。

在这个答案上使用的时间是相对于我的机器=>可能不同于其他人。

在我的情况下,我不小心从Xcode的构建阶段删除了这个脚本。

所以,一定要有这个脚本。如果没有,只需点击“+”&选择“新建运行脚本阶段”,然后粘贴以下代码。

export NODE_BINARY=node
../node_modules/react-native/scripts/react-native-xcode.sh

我也有同样的错误,只能通过Xcode运行应用程序。React-native run-ios不起作用。要解决这个问题,你需要删除YOUR_PROJECT/ios/build/的build文件夹。在此之后,您应该能够再次通过react-native run-ios运行您的应用程序。希望这能有所帮助。