解决快速刷新问题
本页面提供您在使用快速刷新时可能遇到的常见问题的解决方案。如果您在此处找不到特定问题的解决方案,请在开发者论坛中发布问题以获得更多支持。
端口8081已在使用中
错误:
error listen EADDRINUSE: address already in use :::8081
原因: 在以下情况下会发生这种情况:
-
另一个Metro bundler实例正在运行。
-
之前的快速刷新会话未正确终止。
-
另一个应用正在使用端口8081。
解决方案:
-
查找使用端口8081的进程:
lsof -i:8081 -
终止端口8081上的特定进程或所有进程:
# 终止特定进程 kill -9 <进程ID(PID)> # 例如, kill -9 62619 # 终止所有进程 lsof -i:8081 | xargs kill -9 -
重启Metro:
npm start
应用未反映更改
原因: 当对设备架构使用错误的构建变体时,快速刷新无法显示代码更改。每台设备都需要特定的调试构建类型才能正确支持快速刷新功能。
解决方案: 为您的设备使用正确的调试构建变体:
- Fire TV设备: 使用
*_armv7.vpkg - Mac Intel Vega虚拟设备: 使用
*_x86_64.vpkg - Mac M1/M2 Vega虚拟设备: 使用
*_aarch64.vpkg
没有连接到Metro服务器
原因: Metro服务器无法与您的设备建立连接,这会阻止快速刷新功能正常运行。这由Metro服务器中的“Pending… Device connection”(待处理... 设备连接)消息指示。
解决方案:
- 验证端口转发是否处于活动状态。
- 检查您的设备序列号是否正确。
- 确保两个终端(Metro服务器和应用)都在运行。
- 确认您使用端口8081连接Metro服务器。
架构不匹配
原因: 由于设备架构和构建的应用程序包(.vpkg 文件)不匹配,应用崩溃或无法启动。当应用的编译所面向的架构与您的设备使用的架构不同时,就会发生这种情况。
解决方案:
- 检查您的设备架构是否与.vpkg文件相匹配。
- 使用
kepler device info命令来验证设备架构。 - 如果存在不匹配,请使用正确的架构重新构建应用。
相关主题
Last updated: 2025年9月30日

