当我运行一个react-native项目时,我得到一个错误,没有bundle URL,但我不知道我做了什么错误,我很困惑。
当前回答
如果像我一样,您有一个在终端会话(.bashrc/.bash_profile)启动时执行的命令集,它等待输入(在我的例子中,是SSH Key的密码短语,带SSH -add),那么您将注意到它实际上阻止打开的终端启动Metro服务器!
尝试在启动时禁用该命令(或者至少在React Native打开的终端中禁用)。这对我很管用!
其他回答
我也遇到了同样的问题,我通过在AppDelegate中进行更改来解决它。m文件。我改变了
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
to
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
这对我来说很有效:)
我也遇到过这样的问题……问题是封装器没有运行,似乎可能是因为我的默认shell是zsh。react-native厌倦打开一个新的终端窗口并运行…/node_modules/react-native/packager/ launchpacker .命令,但是这个命令没有运行。手动运行(并保持运行)为我解决了这个问题。
是什么帮我解决了这个问题:
打开终端窗口 cd到YOUR_PROJECT/ios 使用rm -r build删除build文件夹 再次运行react-native Run -ios
或者,你可以打开Finder,导航到YOUR_PROJECT/ios并删除构建文件夹。
然后再次运行react-native run-ios。
资料来源:Andrew Bancroft
另一件对我有用的事情是,在xcode中打开项目,然后清理并构建它。通常它会重新运行打包服务器并解决问题。
假设你正在使用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的节点版本。只要遵循上面的设置,我希望能有所帮助。
推荐文章
- 如何在iOS上进行base64编码?
- 如何设置背景颜色的视图透明在React本地
- 是否有可能更新一个本地化的故事板的字符串?
- 以编程方式获取Bundle Identifier
- 为iPad和iPhone设计输入按钮
- 如何在我的iPhone应用程序中使用NSError ?
- 我的预发行应用已经在iTunes Connect中“处理”了一周多,这是怎么回事?
- Xcode iOS项目只显示“我的Mac 64位”,但不显示模拟器或设备
- Objective-C中的自动引用计数不能防止或减少什么样的泄漏?
- 对象作为React子对象无效。如果要呈现子元素的集合,请使用数组
- 在Xcode 9中如何从打开的多个模拟器中退出或关闭单个模拟器?
- Redux @connect装饰器中的“@”(at符号)是什么?
- 如何使用Swift播放声音?
- UINavigationBar自定义返回按钮没有标题
- 如何精确地以毫秒为单位记录方法的执行时间?