react-native metro bundle卡住并且没有运行进度条
Posted
技术标签:
【中文标题】react-native metro bundle卡住并且没有运行进度条【英文标题】:react-native metro bundle stuck and not running progress bar 【发布时间】:2018-11-08 08:51:33 【问题描述】:我在 ios 和 android 上从事 react-native 项目。
在 IOS 上,metro bundler 控制台卡在
Metro Bundler ready.
Loading dependency graph, done.
即使经过长时间的延迟也没有任何反应。它应该执行以下操作:
Metro Bundler ready.
Loading dependency graph, done.
BUNDLE [android, dev] ./index.android.js ░░░░░░░░░░░░░░░░ 0.0% (0/1)Launching Dev Tools...
BUNDLE [android, dev] ./index.android.js ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100.0% (982/982), done.
BUNDLE [android, dev] ./index.android.js ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100.0% (1/1), done.
有什么想法吗?
我尝试删除 node_modules ,通过 Xcode 清理项目,运行“npm start”
【问题讨论】:
编辑在同一个wifi网络上连接电脑和手机也解决了这种问题 【参考方案1】:我的 package.json 的脚本下有这句话。尝试使用npm run clear-all
运行它。
"clear-all": "watchman watch-del-all; rm -rf ./ios/build; rm -rf ./ios/Pods; rm -rf $TMPDIR/react-*;rm -rf $TMPDIR/haste-*; rm -rf $TMPDIR/metro-*; rm -rf node_modules/; npm cache verify; npm install; npm start --reset-cache"
之后,您必须再次运行 pod install
和 react-native run-ios
。让我知道这是否适合您。
【讨论】:
感谢您的帮助。我运行 clear-all(删除 watcham cmd,因为我不使用它)。我也不会使用 pod,我的 mac 上没有安装。 它让我在 node-modules/react-native/third-party/glog-0.3.4 中出错,c 编译器无法创建可执行文件。我必须运行“ cd node_modules/react-native/third-party/glog-0.3.5/ && ../../scripts/ios-configure-glog.sh”然后删除并重新添加 libfishhook.a 但是问题就在这里,metro 加载依赖图后什么都没有发生。【参考方案2】:我找到了让它工作的方法。 我从事的项目是一年半前使用 xcode 9 开始的。xcode 10 改变了处理编译的方式。 您可以将其配置为使用 xcode 9 传统方式(我不知道这有什么不好的方面)
In Xcode -> file -> project setting
for "pre user projects settings" choose "legacy build system"
编辑:将手机和电脑连接到同一个 wifi 使其也可以工作(或使用笔记本电脑创建热点)
【讨论】:
以上是关于react-native metro bundle卡住并且没有运行进度条的主要内容,如果未能解决你的问题,请参考以下文章
Metro server (run ‘react-native start‘) or that your bundle ‘index.android.bundle‘ is packaged corre
Metro server (run ‘react-native start‘) or that your bundle ‘index.android.bundle‘ is packaged corre
Metro server (run ‘react-native start‘) or that your bundle ‘index.android.bundle‘ is packaged corre
无法解析模块“metro/src/lib/bundle-modules/HMRClient”