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 即可。