React Native 无法打开“launchPackager.命令”

uidvcgyl  于 2023-01-21  发布在  React
关注(0)|答案(3)|浏览(396)

刚刚将我的Mac更新到Ventura的正式版本,我无法通过react-native run-ios启动我的应用程序。

预期行为:

运行react-native run-ios将启动一个Xcode模拟器和一个运行Metro的终端窗口。

当前行为:

Xcode模拟器打开,主终端显示应用程序构建成功,但抛出错误,而不是打开地铁终端:
无法打开“launchPackager.command”,因为不允许(null)在终端中打开文档。
模拟器只是显示一个白色,无法进行交互。

我所尝试的

  • 手动打开node_modules/react-native/scripts/launchPackager.command
  • 打开Metro终端,但未连接到应用程序

警告未连接任何应用。向所有React Native应用发送“重新加载”失败。请确保您的应用正在模拟器中或通过USB连接的手机上运行。info重新加载应用...

  • 授予终端完全磁盘访问权限(无更改)
h22fl7wq

h22fl7wq1#

我在升级到macOS Ventura后遇到了这种情况。我碰巧使用iTerm作为我的主终端,而不是内置的Terminal.app,所以下面的修复 * 仅适用于这种情况 *:

将iTerm设置为 *.command文件的默认处理程序

1.在Finder中打开节点模块/React Native/脚本/open node_modules/react-native/scripts/
1.右键单击launchPackager.命令并单击打开方式,然后选择其他...
1.在“应用程序”目录中,选择iTerm并单击始终打开方式
在此之后,您可能需要从此终端窗口再次运行npm run ios。但是,从现在开始,Metro将在新的iTerm选项卡中打开,而不是尝试在新的终端窗口中打开命令。
对我来说,这是理想的行为,它消除了这个警告。

注意将来,任何*.command文件都将使用iTerm而不是Terminal打开。

e0bqpujr

e0bqpujr2#

我也遇到了和你一样的问题,我安装了另一个终端(iTerm2),然后随机找到一个.command文件,在显示介绍中,将默认打开方式改为iTerm2 enter image description here

uurv41yg

uurv41yg3#

我在将MacOS升级到Ventura 13.1后遇到了这个问题。
如果你不想使用iTerm,我找到的解决方法是在node-modules/react-native/scripts/中查找launchPackager.command文件,并在每次你第一次运行应用时手动打开该文件(特别是当错误弹出窗口出现时)。
我知道手动处理不是最好的,但我不想使用iTerm:)

相关问题