鱼壳很慢,在MacOS 10.15.6上每个命令花费约1秒的时间

问题描述

将XCode更新为11.6鱼壳后,速度变得异常缓慢。花大约1秒的时间来执行每个命令。常规bash很好。

我正在MacOS 10.15.6上运行fish,version 3.0.2

XCode从11.3升级到11.6

例如:

~> __fish_vcs_prompt 
~> echo $CMD_DURATION
874

差不多一秒钟!

解决方法

原来是XCode11.6不再提供Subversion引起的。

将fish升级到版本3.1.2可以解决此问题。由于svn在该版本中默认为禁用。 brew upgrade fish(感谢@faho的建议)。

或者安装svn:

在下面运行可解决问题:

~> brew install svn
~> __fish_vcs_prompt 
~> echo $CMD_DURATION
32

我如何发现问题

运行一条鱼的轮廓提供了一个线索:

~> fish --profile /tmp/profile -c fish_prompt; sort -nk2 /tmp/profile
...
181 12870   ---> __fish_git_prompt
1460594 1460594 -----> command svn info 2>/dev/null.
81  1460675 ----> set -l checkout_info (command svn info 2>/dev/null)
124 1462808 ---> __fish_svn_prompt
170 1478777 --> __fish_vcs_prompt
241 1481313 -> echo -n -s (set_color $fish_color_user) "$USER" $normal @ (set_color $fish_color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (__fish_vcs_prompt) $normal $prompt_status $suffix " "
120 1482542 > fish_prompt

1460594 1460594 -----> command svn info 2>/dev/null.是减速开始的地方。

正在运行:

~> command svn info
svn: error: Failed to locate 'svn'.
svn: error: The subversion command line tools are no longer provided by Xcode.

表明XCode不再提供svn

因此,可以通过自制软件安装svn来解决此问题:brew install svn

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...