当我运行一个react-native项目时,我得到一个错误,没有bundle URL,但我不知道我做了什么错误,我很困惑。
当前回答
对于我的用例,我必须删除node_modules目录并运行npm install。
$ rm -rf node_modules (make sure you're in the ios project directory)
$ npm install
如果你得到错误“dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.58。Dylib”,执行以下操作:
$ brew uninstall --force node --ignore-dependencies node
$ brew uninstall icu4c --ignore-dependencies icu4c
$ brew install icu4c
$ brew unlink icu4c && brew link icu4c --force
$ brew install node
$ npm install
其他回答
我们通过删除构建脚本中的SKIP_BUNDLING选项来解决这个问题,RN文档建议添加该选项来加快调试构建。真正的修复(为了我们的原因)包含在RN 0.57中:
https://github.com/facebook/react-native/issues/20553
我尝试了上面的大部分答案。 但唯一有效的是一个watchman命令(我使用react-native: "0.60.4"):
守望watch-del-all
当我们有nvm管理的多个版本的节点,而默认版本不是react-native运行的预期版本时,可能会发生此问题。(确保它是Node 8.3或更新版本)
react-native run-ios
打开一个新终端并运行在$PATH中找到的node版本。
如果它发现一个不被react native支持的旧版本的node,它可能会给出这个错误。
确保在打开新终端时,$PATH变量已经指向预期的节点版本(确保它是node 8.3或更新版本)。
这为我解决了问题。祝你好运。
执行如下命令:
killall -9 node
rm -rf ios/build
react-native run-ios
它将打开launchpacker .command,应用程序将安装在ios模拟器上
如果像我一样,您有一个在终端会话(.bashrc/.bash_profile)启动时执行的命令集,它等待输入(在我的例子中,是SSH Key的密码短语,带SSH -add),那么您将注意到它实际上阻止打开的终端启动Metro服务器!
尝试在启动时禁用该命令(或者至少在React Native打开的终端中禁用)。这对我很管用!
推荐文章
- 如何删除默认的导航栏空间在SwiftUI导航视图
- 如何配置历史记录?
- 在react native中隐藏/显示组件
- 如何在iOS中使用Swift编程segue
- Swift -整数转换为小时/分钟/秒
- Swift:声明一个空字典
- React钩子:从回调中访问最新状态
- 在成功提交我的应用程序后,“太多符号文件”
- 首先添加一个UIView,甚至是导航栏
- 我如何改变UIButton标题颜色?
- 在Swift中如何调用GCD主线程上的参数方法?
- NSLayoutConstraints是可动画的吗?
- iOS -构建失败,CocoaPods无法找到头文件
- React-Native:应用程序未注册错误
- 禁用react native按钮