本地反应中没有捆绑URL的含义是什么?

godio 发布于 2019-10-02 ios 最后更新 2019-10-02 18:06 211 浏览

当我运行一个react-native项目时,我得到一个错误no bundle URL present,但我不知道我做了什么错误,我非常困惑。 enter image description here

已邀请:

jalias

赞同来自:

必须按照错误消息中的说明运行sudo xcodebuild -license: “同意Xcode / iOS许可证需要管理员权限,请运行”sudo xcodebuild -license“,然后重试此命令。” 现在工作

tet

赞同来自:

关闭当前运行的React Packager终端窗口,然后从Xcode重新运行您的iOS项目应该可以正常工作。

quo_et

赞同来自:

我正在使用RN 0.49.5。 我尝试了很多方法,但没有人工作。最后我解决了这个问题。 它简单易行。 主要想法是将localhost更改为127.0.0.1,但这不是RN告诉您的地方。它位于RCTBundleURLProvider.m# - (BOOL)isPackagerRunning:(NSString *)主机。 代码更改: oc

  • NSString *host = ipGuess ?: @"localhost";
  • NSString *host = ipGuess ?: @"127.0.0.1"; 这对模拟器来说没问题。如果是设备,只需将IP地址更改为您的机器即可。

lqui

赞同来自:

在我的情况下,通过重新启动adb服务器来解决问题:adb kill-server && adb start-server

oiusto

赞同来自:

假设您正在使用nvm并安装了多个版本的节点,以下是解决方案:

  1. 假设您在node v6.9.5中运行npm install -g react-native-cli
  2. 现在通过运行nvm alias default 6.9.5
  3. node v6.9.5设为默认值
  4. 现在运行react-native run-ios
问题是,您通过nvm安装了多个版本的节点,并安装了react-native-cli,您已经切换或安装了最新版本的节点,该节点尚未标记为指向nvm的默认节点。当您运行react-native run-ios时,这将打开另一个新的终端窗口,其中默认nvm未指向已安装react-native-cli的节点版本。只需按照上面的设置,我希望应该有所帮助。

ysequi

赞同来自:

确保launchPackage.command正在终端中运行并再次尝试运行。它将构建捆绑包。它有点像webpack-dev-server。

wsed

赞同来自:

这是react-native v0.42.1的问题。尝试关闭所有终端和XCode实例并运行:

launchctl unload ~/Library/LaunchAgents/com.github.facebook.watchman.plist
watchman version
react-native run-ios

yhic

赞同来自:

对我来说问题是它无法创建JS包。从Xcode构建时它没有说明错误,所以你无法知道这一点。要查找错误,请运行以下命令。 react-native bundle --platform ios --dev false --entry-file index.ios.js --bundle-output ./ios/release/main.jsbundle --assets-dest ./ios/release/main.jsbundle 对我来说,错误是缺少PureRenderMixin组件。可在此处找到解决方案:https://github.com/facebook/react-native/issues/13078。基本上你必须手动安装react@16.0.0-alpha.3。这可以通过运行此命令来完成。 npm i --save react@16.0.0-alpha.3 这个问题现在正在为每个人发生,因为更新版本的反应alphas正在发布(特别是alpha.5),并且它们正在破坏反应本机构建。

wet

赞同来自:

大多数情况下,当DNS查找/ IP查找无法找到localhost时,会出现此问题。 方案: 尝试将localhost ip添加到etc主机文件中。 您可以将以下行添加到您的etc主机文件(/ etc / hosts) 127.0.0.1 localhost 255.255.255.255 broadcasthost :: 1升。 ocalhost 确认这是问题所在 你可以在safari上点击捆绑网址(如果你在chrome中尝试它会解决,但safari将无法解决它)。 http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false

punde

赞同来自:

在info.plist中的NSExceptionDomains dict中检查你的'localhost'密钥 如果它不存在,则会导致错误。

bsit

赞同来自:

检查您的网络代理,更好地关闭它。 或者你应该找到另一种维护打包服务器的方法

wsed

赞同来自:

在重新启动我的mac之后,它也发生在我身上。当您在模拟器上运行应用程序时,会打开一个launchPackager终端窗口。我关闭了那个窗口并终止了这个过程(我也完成了模拟器),然后再次运行react-native run-ios,一切正常。

oautem

赞同来自:

确保.plist文件中的ATS设置正确。 您可以在/ios/smileyspinners/Info.plist找到该文件 必须将localhost定义为异常请求目标,如下所示:

<key>NSAppTransportSecurity</key>
    <dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>localhost</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>
*(别忘了在发布版本中删除它..)

fnam

赞同来自:

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

gvel

赞同来自:

是什么解决了我:

  • 打开终端窗口
  • cd进入YOUR_PROJECT/ios
  • 使用rm -r build
  • 删除构建文件夹
  • 再次运行react-native run-ios
或者,您可以打开Finder,导航到YOUR_PROJECT/ios并删除build文件夹。 然后运行react-native run-ios again。 资料来源:Andrew Bancroft

in_ut

赞同来自:

  1. 检查您的主机127.0.0.1 localhost是否未删除
  2. 检查是否未设置网络代理
  3. 然后npm install& react-native upgrade重置项目

uvero

赞同来自:

解决方案 - > npm start然后打开新的终端并转到您的项目路径,然后点击 react-native run-ios它对我有用

sed_et

赞同来自:

解决错误No bundle URL present

  • 在项目根目录中运行以下命令以删除iOS构建目录,并在重新构建之前终止其他React Native会话(假设它们在默认端口8081上运行):
rm -rf ios/build/; kill $(lsof -t -i: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; source ~/.bashrc 现在,您可以使用简单的别名快捷方式运行React Native iOS构建(无需担心出现死亡的常见红色错误屏幕): rni

mid

赞同来自:

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

dmodi

赞同来自:

我发现绕过这个最简单/最快捷的方法是退出模拟器中的应用程序(2 x Cmd + Shift + H)并重新启动。

mid

赞同来自:

我也遇到过这个问题...问题是打包器没有运行它似乎可能是因为我的默认shell是zsh。 react-native轮胎打开一个新的终端窗口并运行.../node_modules/react-native/packager/launchPackager.command,但这没有运行。手动运行(并保持运行)为我解决了这个问题。

vanimi

赞同来自:

关闭你的模拟器和终端。打开一个新的并转到您的项目,然后像这样升级您的react-native:

react-native upgrade
问题:https://github.com/facebook/react-native/issues/5090