最近终端启动很慢,大概有一秒左右,一查原来是因为nvm的问题。nvm在安装的时候,需要在.zshrc中添加:

1
2
export NVM_DIR="/Users/mazhibin/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

就是. "$NVM_DIR/nvm.sh"拖慢了终端的启动。

nvm的github页面上有很多人提这个问题:

虽然很多人提问,但是这个问题目前还没有被解决。综合参考了一下,我总结出下面这种方案,能在不影响使用的情况下,是nvm不影响终端启动。修改.zshrc配置如下:

1
2
3
4
export NVM_DIR="/Users/mazhibin/.nvm"
#[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
nvm() { . "$NVM_DIR/nvm.sh" ; nvm $@ ; }
export PATH=/Users/mazhibin/.nvm/versions/node/v6.2.0/bin/:$PATH

可以把这里的v6.2.0换成你想要的默认node版本。原理是启动终端的时候不执行nvm.sh脚本。而是直接把某个具体版本的node的路径放到PATH中。等到执行nvm的时候,再去执行nvm.sh脚本。