fix(nvm): don't try to load nvm via `brew` if not found (#10878)
Fixes #10878
Diff
1diff --git a/plugins/nvm/nvm.plugin.zsh b/plugins/nvm/nvm.plugin.zsh
2index b8f28c27c5cddaa8554208ea16b28a98a8b252ab..630854a7100e0b60ac756b2e502f8ecf5c5402ef 100644
3--- a/plugins/nvm/nvm.plugin.zsh
4+++ b/plugins/nvm/nvm.plugin.zsh
5@@ -8,12 +8,13 @@ if [[ -z "$NVM_DIR" ]]; then
6 fi
7 8 # Don't try to load nvm if command already available
9-which nvm &> /dev/null && return
10+# Note: nvm is a function so we need to use `which`
11+! which nvm &>/dev/null || return
1213 if [[ -f "$NVM_DIR/nvm.sh" ]]; then
14 # Load nvm if it exists in $NVM_DIR
15 source "$NVM_DIR/nvm.sh" ${NVM_LAZY+"--no-use"}
16-else
17+elif (( $+commands[brew] )); then
18 # Otherwise try to load nvm installed via Homebrew
19 # User can set this if they have an unusual Homebrew setup
20 NVM_HOMEBREW="${NVM_HOMEBREW:-${HOMEBREW_PREFIX:-$(brew --prefix)}/opt/nvm}"
21@@ -21,9 +22,10 @@ else
22 if [[ -f "$NVM_HOMEBREW/nvm.sh" ]]; then
23 source "$NVM_HOMEBREW/nvm.sh" ${NVM_LAZY+"--no-use"}
24 else
25- # Exit the plugin if we couldn't find nvm
26 return
27 fi
28+else
29+ return
30 fi
3132 # Call nvm when first using node, npm or yarn