第一次启动终端缓慢,因为xcodebuild。

43
我第一次运行Terminal或启动SmartGit时,都需要等待约30秒的缓慢启动时间。当我查看Terminal的状态栏时,发现它卡在运行某个xcodebuild命令上。不确定这个命令的确切含义。
有人知道如何查看Terminal在启动时运行哪些命令吗?还是有其他人遇到了这个问题?我认为这可能与这个问题有关,但是我的缓慢启动只出现在第一次打开Terminal时,持续约30秒,而不是其他用户报告的2-3秒。后续的运行或命令工作正常。

我从Bash切换到Zsh后,问题解决了。我猜测可能是Bash配置中的某些东西导致了减速,但仍然不知道具体原因。 - Dhananjay Suresh
1
我也遇到了这个问题,自从我升级到Big Sur以后。 - anarchy
d= (-_- ) 我也是,不要放弃!- 运行 xcodebuild -find clang 命令需要 43 秒才会输出:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang(在 Apple 修复之前,我将切换到静态路径)。 - Top-Master
解决方案是,如果你是这个工具的开发人员(就像我一样),只需使用/usr/bin/xcode-select -p输出作为路径前缀,而不是使用xcodebuild工具的完整路径(这需要不到一秒钟)。 - Top-Master
5个回答

34

1
我已经接受了 xcodebuild 许可证,并且正在使用 brew 版本的 git,但问题仍然存在。 - Luca
7
我也遇到了同样的问题;我已经接受了许可协议,使用homebrew git,但在重新启动后第一次启动终端仍然很慢。 - GaryO
这个不起作用。 - Rajat Shenoi

8

我尝试使用sudo xcodebuild -license accept,但开始时控制台仍然非常慢,重新启动后,我至少要等待15秒才能看到终端。

我发现某种程度上是nvm需要xcodebuild

通过更改nvm默认值为system来解决了这个问题。

nvm alias default system

system 定义为什么?我没有那个别名。 - Dhananjay Suresh
@DhananjaySuresh 尝试使用 nvm list 命令并查看结果。 - freedev
我没有 system。我的 defaultnode (16.13.0)。 - Dhananjay Suresh
6
+100 是为了找出需要安装 Xcode 的 nvm。 - Laukik
1
谢谢关注nvm。我已经添加了一个答案,其中引用了一个来自nvm github问题的解决方法,避免更改nvm默认别名。 - wraiford

7

谢谢StefanoF。以上所有方法都不行,但这个对我有效。 - SL ART
这就是它了。考虑到我的XCode最近重新安装,只有最后一个switch命令是必要的。 - undefined

5

尝试运行xcodebuild -runFirstLaunch

然后等待完成后,打开2个新的终端标签页。

在macOS 12.6上对我有效。

我在这里找到了解决方案:https://superuser.com/a/1742463/98148


1

上下文:

我使用了这里的一些其他答案,但它们实际上并没有为我解决问题,因为最初我没有意识到它只是在每次重新启动时第一次启动缓慢。根据与nvm相关的评论,我发现了一个nvm GitHub问题。他们的解决方案对我来说跨重启工作:

好的!所以似乎将此行添加到~/.zshrc文件中nvm行之前可以暂时解决问题:

alias manpath=false

解决方案(解决方法):

~/.zshrc文件中,在引用nvm.sh之前添加alias manpath=false行:

alias manpath=false
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

现在重新启动(或者您希望如何触发~/.zshrc文件被重新加载)。

注:

这与每次重启,即每次~/.zshrc执行的事实相符。对我来说,我还有一个非系统默认的nvm版本,对应于freedev's answer,但是我需要一个v19+默认的节点版本用于同构WebCrypto,所以那个答案不可接受。

您可以阅读nvm GitHub问题以进行更深入的分析。我建议给该问题点赞,因为nvm的代表似乎难以置信它不是该问题的OP的本地化问题。但是这个问题已经获得了35个赞,这清楚地表明这不是事实。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接