如何使react-native run-ios在macOS上以iTerm而不是Terminal打开?

15 浏览
0 Comments

如何使react-native run-ios在macOS上以iTerm而不是Terminal打开?

如何将react-native run-ios配置为在OSX上使用iTerm而不是Terminal执行?默认情况下,它会打开一个新的Terminal窗口,但是Terminal在我的窗口管理器中与iTerm不兼容。

0
0 Comments

问题出现的原因是,执行react-native run-ios命令时,会自动打开一个终端窗口来启动packager。然而,在macOS上,默认使用的终端程序是Terminal,而不是iTerm。因此,需要更改终端程序的关联,使其在执行react-native run-ios命令时,自动打开iTerm。

解决方法如下:

1. 打开Finder。

2. 导航到$PROJECT/node_modules/react-native/scripts/目录(或者在任意位置创建一个空文件,并将其后缀改为.command)。

3. 右键点击launchPackager.command文件。

4. 按下Option键。

5. 在“始终打开方式...”下拉菜单中,选择iTerm。

值得注意的是,上述解决方法是基于react-native版本45.1的。如果使用的是其他版本,launchPackager.command文件的位置可能会有所不同。例如,在react-native版本55上,launchPackager.command文件的位置为$PROJECT/node_modules/react-native/packager/launchPackager.command

通过上述步骤更改终端程序的关联后,再次执行react-native run-ios命令时,将自动在iTerm中打开packager。

0
0 Comments

问题的出现原因:重新安装node_modules后,之前的解决方法不再起作用。

解决方法:右键点击node_modules/react-native/scripts/路径下的launchPackager.command文件,选择“获取信息”(Get Info)。然后在“打开方式”(Open with)部分选择iTerm,并点击“全部更改”(Change All)按钮。

这是一个真正的原始答案,特别适用于React Native,因为删除node_modules是一个常见的情况。感谢!

这依然是正确的答案,即使在2022年也适用。谢谢!

0