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


当前回答

我是这样做的:

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

其他回答

我也有同样的问题。但我的问题是我的Mac和iPhone不在同一个wifi网络中。

因此,确保它们都在同一个网络中,并再次重建。如果不是这样,试试其他成员在这里提到的解决方案。

对我来说,问题是它不能创建JS包。当从Xcode构建时,它没有声明错误,所以你无法知道这一点。要查找错误,请运行以下命令。

React-native bundle——platform ios——dev false——entry-file index.ios.js——bundle-output ./ios/release/mainJsbundle——assets-dest ./ios/release/main.jsbundle

对我来说,错误是缺少PureRenderMixin组件。解决方案可以在这里找到:https://github.com/facebook/react-native/issues/13078。基本上你必须手动安装react@16.0.0-alpha.3。这可以通过运行这个命令来完成。

NPM I——保存react@16.0.0-alpha.3

现在每个人都遇到了这个问题,因为新版本的react alpha正在发布(特别是alpha.5),它们破坏了react原生构建。

在我的案例中,通过重新启动adb服务器解决了这个问题:adb kill-server && adb start-server

如果像我一样,您有一个在终端会话(.bashrc/.bash_profile)启动时执行的命令集,它等待输入(在我的例子中,是SSH Key的密码短语,带SSH -add),那么您将注意到它实际上阻止打开的终端启动Metro服务器!

尝试在启动时禁用该命令(或者至少在React Native打开的终端中禁用)。这对我很管用!

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

react-native run-ios

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

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

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

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