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