搭建 Hexo 需要安装 nvm,但是发现安装 nvm 之后 zsh 启动就变慢了,每次打开终端都要加载 1 秒以上

最后终于找到了 解决办法

修改 home 下的 .zshrc 文件

1
2
3
4
5
6
7
export NVM_DIR="$HOME/.nvm"

#[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
nvm() { . "$NVM_DIR/nvm.sh" ; nvm $@ ; }
export PATH=$HOME/.nvm/versions/node/v7.7.3/bin/:$PATH

[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

注意第 5 行,需要改成自己的版本号。

如果修改后 zsh 启动还是很慢,可以把最后一行也注释掉。

原理是启动终端的时候不执行 nvm.sh 脚本,而是把某个 node 的路径放到 PATH 中,等到执行 nvm 的时候,再去执行 nvm.sh 脚本。