出于某种原因,当我想启动我的 React Native 项目时,它卡在了“正在启动 Packager ...”部分。我试图删除节点包,然后重新安装它们,通过纱线、npm 安装它们,但没有运气。我不知道我应该如何解决这个问题:/(太尴尬了)
5 回答
我遇到过同样的问题。我通过将 react-native-scripts 版本从“^1.14.1”更改为“1.14.0”并再次运行 npm install 来解决它。
经过长时间的搜索,我找到了解决此问题的方法:
这个问题是由另一个watchman进程引起的,要解决它你必须关闭watchman进程
首先,检查 react、react-native 和 expo 版本是否兼容,转到此处
然后你必须安装守望者,去https://facebook.github.io/watchman/docs/install.html。检查守望者已安装:
watchman -v
结果:
4.9.4
之后,输入终端或cmd:
watchman watch-del-all
结果:
{
"version": "4.9.4",
"roots": [
"C:/Users/***/Documents/Project/quickCountAndroidCrna"
]
}
查看以下"roots"
部分:
"roots": [
"C:/Users/***/Documents/Project/quickCountAndroidCrna"
]
如果"roots"
不为空,则必须关闭 watchman 进程,在终端或 cmd 中输入:
watchman shutdown-server
结果:
{
"version": "4.9.4",
"shutdown-server": true
}
再次运行,watchman watch-del-all
你会得到这样的空根结果:
{
"version": "4.9.4",
"roots": []
}
之后,您可以运行npm start
或yarn start
其他命令来启动您的 react-native 项目。
如果问题仍然存在,请重复上述方法几次,确保"roots"
为空!就我而言,即使我不得不重复多达 3 次。
该问题可能有多种原因。对于最新版本的 react-native(2018 年 8 月),您可能需要做的只是按 'q',它将显示 QR 码。
之后,您使用 expo 应用程序扫描 QR 码,它应该开始捆绑脚本并将其加载到您的手机。
如果没有,你可能会遇到另一个问题,这是由 React-Native、React 和 Expo 之间的不兼容引起的。如果您使用的是 Expo 27,则应使用 react-native 0.55。
这里有一个完整的矩阵,https://github.com/react-community/create-react-native-app/blob/master/VERSIONS.md
任何在运行后遇到问题的人
npm audit fix
,那是因为它会尝试安装 react-native 0.56,它不适用于 Expo 27。所以不要跑 npm audit fix
。跑吧npm install react-native@0.55.0
。(随着时间的推移,版本可能会有所不同。请确保您按照上面的链接查找兼容版本。)
有一种对我有用的最快方法:
当它显示“正在启动打包程序...”时,
按“q”键。显示二维码
然而,在我的情况下(React Native 0.62.2),由于专用端口(8081)被先前运行的进程保留,yarn ios
相当于被卡住(静默)。react-native run-ios
我只是在尝试运行yarn start
相当于react-native start
我不得不杀死它kill -9 $(lsof -t -i:8081 -sTCP:LISTEN)
并运行yarn ios
以使 ios 模拟器恢复并运行。
每个案例都不同,我希望这对某人有所帮助。