zsh: command not found:nvm 的解决方案


nvm 在 bash shell 下边可以运行,但是切换到 zsh shell 下边,就报  zsh: command not found:nvm 

原因: 

我们可以去对比一下  .bashrc  和  .zshrc  文件,发现

 .bashrc  里面有一段代码:

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

或者 

.bashrc  里面 有 source ~/.bash_profile,而  .zshrc 这两个都没有。

因为我们的nvm 安装成功后,在 ~ 下边会有一个 .nvm 文件夹,提示我们如果要正常使用 nvm 命令,需要先重启我们的terminal或者一段代码,正好是上边这段代码。

 解决方案:

 1. 在  .zshrc 里面 加入:(不推荐)

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

执行   source ~/.zshrc  ,重启 terminal 即可。

2. 因为  .bashrc  里面 已经有这段代码了,如果在  .zshrc 里面加,就比如冗余。那我们这样处理:(推荐)

情况一: ~ 下边没有 .bash_profile  文件

   在 ~ 下边 创建个  .bash_profile  文件,然后把上边那边代码写进去:

  • 在  .bashrc  里面 添加  source ~/.bash_profile  ,保存退出,执行   source ~/.bashrc      
  • 在  .zshrc  里面 添加  source ~/.bash_profile  ,保存退出,执行  source ~/.zshrc   

情况二:~ 下边有 .bash_profile  文件

  • 在  .zshrc  里面 添加  source ~/.bash_profile  ,保存退出,执行  source ~/.zshrc   

 重启 terminal 即可。