2

我正在使用 zsh 和 prezto。启动提示非常慢。我在 Mac 上使用 iTerm2。

在此处输入图像描述

这是我的~/.zshrc

#
# Executes commands at the start of an interactive session.
#
# Authors:
#   Sorin Ionescu <sorin.ionescu@gmail.com>
#

# Source Prezto.
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
  source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
fi


# Customize to your needs.
PATH=/bin:/usr/bin:/usr/local/bin:${PATH}
export PATH

# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"

autoload -U +X bashcompinit && bashcompinit

这是我的~/.zpreztorc

zstyle ':prezto:load' pmodule \
  'environment' \
  'terminal' \
  'editor' \
  'history' \
  'directory' \
  'spectrum' \
  'utility' \
  'ssh' \
  'completion' \
  'homebrew' \
  'node' \
  'osx' \
  'git' \
  'syntax-highlighting' \
  'history-substring-search' \
  'autosuggestions' \
  'prompt'

我有一种预感,模块的顺序会有所不同吗?此外,我还尝试删除一些模块,但这似乎也没有什么不同。

4

1 回答 1

2

我有一个类似的问题,我解决问题的方法是:

.zshrc将此行添加到我的文件的最顶部:

zmodload zsh/zprof

zprof这包括文件开头的zsh 分析模块 , 。

然后打开一个新的终端会话(因此更改会发生zprof并被加载)并执行

zprof

它给了我一份报告,说明我的系统大部分时间都花在了哪里。

在我的特殊情况下,它正在执行nvm-related 任务。我怀疑 OP 也有类似的问题,因为他们正在加载node模块。

由于这些天我很少使用 node,所以我只是卸载了所有与 node 相关的东西,包括 nvm,并且我还删除了我在.zshrc.

这是为我做的,所以我注释掉zmodload zsh/zprof.zshrc.

虽然谷歌搜索这些实际上需要每天使用 Node 的人已经提出了其他解决方案。

例如这里:https ://xcv58.me/if-your-zsh-starts-very-slow-cb1434ea16bd

此人创建了一个名为zsh-lazy-load( repo ) 的 zprezto 模块,可用于延迟加载 nvm 直到需要它

免责声明:我没有尝试过zsh-lazy-load,所以我不能完全推荐它;只是添加它以防它对任何人有用。

于 2020-10-14T11:09:13.050 回答