title: "which nvm" command (nvm installed via homebrew) doesn't return path
body: <p>I have installed nvm via homebrew. I have followed through the caveats: </p>
  
  <pre><code>mkdir ~/.nvm 
  cp $(brew --prefix nvm)/nvm-exec ~/.nvm/
  </code></pre>
  
  <p>AddED to my .zshrc file:</p>
  
  <pre><code>export NVM_DIR=~/.nvm
  source $(brew --prefix nvm)/nvm.sh
  </code></pre>
  
  <p>I have restarted my shell and when I type "which nvm" I get the file output instead of a file path locating the nvm version. I removed the package, reinstalled. All other "which" commands work. </p>
  
  <p>Any insight is greatly appreciated.</p>
  
  <p>File output after typing "which nvm":</p>
  
  <pre><code>nvm () {
      if [ $# -lt 1 ]
      then
          nvm help
          return
      fi
      local GREP_OPTIONS
      GREP_OPTIONS=''
      local VERSION
      local ADDITIONAL_PARAMETERS
      local ALIAS
      case $1 in
          ("help") echo
              echo "Node Version Manager"
              echo
              echo "Usage:"
              echo "  nvm help                              Show this message"
              echo "  nvm --version                         Print out the latest released version of nvm"
              echo "  nvm install [-s] &lt;version&gt;            Download and install a &lt;version&gt;, [-s] from source. Uses .nvmrc if available"
              echo "  nvm uninstall &lt;version&gt;               Uninstall a version"
              echo "  nvm use &lt;version&gt;                     Modify PATH to use &lt;version&gt;. Uses .nvmrc if available"
              echo "  nvm run &lt;version&gt; [&lt;args&gt;]            Run &lt;version&gt; with &lt;args&gt; as arguments. Uses .nvmrc if available for &lt;version&gt;"
              echo "  nvm current                           Display currently activated version"
              echo "  nvm ls                                List installed versions"
              echo "  nvm ls &lt;version&gt;                      List versions matching a given description"
              echo "  nvm ls-remote                         List remote versions available for install"
              echo "  nvm deactivate                        Undo effects of \`nvm\` on current shell"
              echo "  nvm alias [&lt;pattern&gt;]                 Show all aliases beginning with &lt;pattern&gt;"
              echo "  nvm alias &lt;name&gt; &lt;version&gt;            Set an alias named &lt;name&gt; pointing to &lt;version&gt;"
              echo "  nvm unalias &lt;name&gt;                    Deletes the alias named &lt;name&gt;"
              echo "  nvm reinstall-packages &lt;version&gt;      Reinstall global \`npm\` packages contained in &lt;version&gt; to current version"
              echo "  nvm unload                            Unload \`nvm\` from shell"
              echo "  nvm which [&lt;version&gt;]                 Display path to installed node version. Uses .nvmrc if available"
              echo
              echo "Example:"
              echo "  nvm install v0.10.32                  Install a specific version number"
              echo "  nvm use 0.10                          Use the latest available 0.10.x release"
              echo "  nvm run 0.10.32 app.js                Run app.js using node v0.10.32"
              echo "  nvm exec 0.10.32 node app.js          Run \`node app.js\` with the PATH pointing to node v0.10.32"
              echo "  nvm alias default 0.10.32             Set default node version on a shell"
              echo
              echo "Note:"
              echo "  to remove, delete, or uninstall nvm - just remove ~/.nvm, ~/.npm, and ~/.bower folders"
              echo ;;
          ("install"|"i") local nobinary
              local version_not_provided
              version_not_provided=0
              local provided_version
              local NVM_OS
              NVM_OS="$(nvm_get_os)"
              if ! nvm_has "curl" &amp;&amp; ! nvm_has "wget"
              then
                  echo 'nvm needs curl or wget to proceed.' &gt;&amp;2
                  return 1
              fi
              if [ $# -lt 2 ]
              then
                  version_not_provided=1
                  nvm_rc_version
                  if [ -z "$NVM_RC_VERSION" ]
                  then
                      nvm help &gt;&amp;2
                      return 127
                  fi
              fi
              shift
              nobinary=0
              if [ "_$1" = "_-s" ]
              then
                  nobinary=1
                  shift
              fi
              provided_version="$1"
              if [ -z "$provided_version" ]
              then
                  if [ $version_not_provided -ne 1 ]
                  then
                      nvm_rc_version
                  fi
                  provided_version="$NVM_RC_VERSION"
              else
                  shift
              fi
              VERSION="$(nvm_remote_version "$provided_version")"
              if [ "_$VERSION" = "_N/A" ]
              then
                  echo "Version '$provided_version' not found - try \`nvm ls-remote\` to browse available versions." &gt;&amp;2
                  return 3
              fi
              ADDITIONAL_PARAMETERS=''
              local PROVIDED_REINSTALL_PACKAGES_FROM
              local REINSTALL_PACKAGES_FROM
              while [ $# -ne 0 ]
              do
                  case "$1" in
                      (--reinstall-packages-from=*) PROVIDED_REINSTALL_PACKAGES_FROM="$(echo "$1" | command cut -c 27-)"
                          REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")"  ;;
                      (--copy-packages-from=*) PROVIDED_REINSTALL_PACKAGES_FROM="$(echo "$1" | command cut -c 22-)"
                          REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")"  ;;
                      (*) ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1"  ;;
                  esac
                  shift
              done
              if [ "_$(nvm_ensure_version_prefix "$PROVIDED_REINSTALL_PACKAGES_FROM")" = "_$VERSION" ]
              then
                  echo "You can't reinstall global packages from the same version of node you're installing." &gt;&amp;2
                  return 4
              elif [ ! -z "$PROVIDED_REINSTALL_PACKAGES_FROM" ] &amp;&amp; [ "_$REINSTALL_PACKAGES_FROM" = "_N/A" ]
              then
                  echo "If --reinstall-packages-from is provided, it must point to an installed version of node." &gt;&amp;2
                  return 5
              fi
              local NVM_IOJS
              if nvm_is_iojs_version "$VERSION"
              then
                  NVM_IOJS=true
              fi
              local VERSION_PATH
              VERSION_PATH="$(nvm_version_path "$VERSION")"
              if [ -d "$VERSION_PATH" ]
              then
                  echo "$VERSION is already installed." &gt;&amp;2
                  if nvm use "$VERSION" &amp;&amp; [ ! -z "$REINSTALL_PACKAGES_FROM" ] &amp;&amp; [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]
                  then
                      nvm reinstall-packages "$REINSTALL_PACKAGES_FROM"
                  fi
                  return $?
              fi
              if [ "_$NVM_OS" = "_freebsd" ]
              then
                  nobinary=1
              elif [ "_$NVM_OS" = "_sunos" ] &amp;&amp; [ "$NVM_IOJS" = true ]
              then
                  nobinary=1
              fi
              local NVM_INSTALL_SUCCESS
              if [ $nobinary -ne 1 ] &amp;&amp; nvm_binary_available "$VERSION"
              then
                  if [ "$NVM_IOJS" = true ] &amp;&amp; nvm_install_iojs_binary "$VERSION" "$REINSTALL_PACKAGES_FROM"
                  then
                      NVM_INSTALL_SUCCESS=true
                  elif [ "$NVM_IOJS" != true ] &amp;&amp; nvm_install_node_binary "$VERSION" "$REINSTALL_PACKAGES_FROM"
                  then
                      NVM_INSTALL_SUCCESS=true
                  fi
              fi
              if [ "$NVM_INSTALL_SUCCESS" != true ]
              then
                  if [ "$NVM_IOJS" = true ]
                  then
                      echo "Installing iojs from source is not currently supported" &gt;&amp;2
                      return 105
                  elif nvm_install_node_source "$VERSION" "$ADDITIONAL_PARAMETERS"
                  then
                      NVM_INSTALL_SUCCESS=true
                  fi
              fi
              if [ "$NVM_INSTALL_SUCCESS" = true ] &amp;&amp; nvm use "$VERSION"
              then
                  if [ ! -z "$REINSTALL_PACKAGES_FROM" ] &amp;&amp; [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]
                  then
                      nvm reinstall-packages "$REINSTALL_PACKAGES_FROM"
                  fi
              fi
              return $? ;;
          ("uninstall") if [ $# -ne 2 ]
              then
                  nvm help &gt;&amp;2
                  return 127
              fi
              local PATTERN
              PATTERN="$2"
              case "_$PATTERN" in
                  ("_$(nvm_iojs_prefix)"|"_$(nvm_iojs_prefix)-"|"_$(nvm_node_prefix)"|"_$(nvm_node_prefix)-") VERSION="$(nvm_version "$PATTERN")"  ;;
                  (*) VERSION="$(nvm_version "$PATTERN")"  ;;
              esac
              if [ "_$VERSION" = "_$(nvm_ls_current)" ]
              then
                  if nvm_is_iojs_version "$VERSION"
                  then
                      echo "nvm: Cannot uninstall currently-active io.js version, $VERSION (inferred from $PATTERN)." &gt;&amp;2
                  else
                      echo "nvm: Cannot uninstall currently-active node version, $VERSION (inferred from $PATTERN)." &gt;&amp;2
                  fi
                  return 1
              fi
              local VERSION_PATH
              VERSION_PATH="$(nvm_version_path "$VERSION")"
              if [ ! -d "$VERSION_PATH" ]
              then
                  echo "$VERSION version is not installed..." &gt;&amp;2
                  return
              fi
              t="$VERSION-$(nvm_get_os)-$(nvm_get_arch)"
              local NVM_PREFIX
              local NVM_SUCCESS_MSG
              if nvm_is_iojs_version "$VERSION"
              then
                  NVM_PREFIX="$(nvm_iojs_prefix)"
                  NVM_SUCCESS_MSG="Uninstalled io.js $(nvm_strip_iojs_prefix $VERSION)"
              else
                  NVM_PREFIX="$(nvm_node_prefix)"
                  NVM_SUCCESS_MSG="Uninstalled node $VERSION"
              fi
              command rm -rf "$NVM_DIR/src/$NVM_PREFIX-$VERSION" "$NVM_DIR/src/$NVM_PREFIX-$VERSION.tar.gz" "$NVM_DIR/bin/$NVM_PREFIX-${t}" "$NVM_DIR/bin/$NVM_PREFIX-${t}.tar.gz" "$VERSION_PATH" 2&gt; /dev/null
              echo "$NVM_SUCCESS_MSG"
              for ALIAS in `command grep -l $VERSION "$(nvm_alias_path)/*" 2&gt;/dev/null`
              do
                  nvm unalias "$(command basename "$ALIAS")"
              done ;;
          ("deactivate") local NEWPATH
              NEWPATH="$(nvm_strip_path "$PATH" "/bin")"
              if [ "_$PATH" = "_$NEWPATH" ]
              then
                  echo "Could not find $NVM_DIR/*/bin in \$PATH" &gt;&amp;2
              else
                  export PATH="$NEWPATH"
                  hash -r
                  echo "$NVM_DIR/*/bin removed from \$PATH"
              fi
              NEWPATH="$(nvm_strip_path "$MANPATH" "/share/man")"
              if [ "_$MANPATH" = "_$NEWPATH" ]
              then
                  echo "Could not find $NVM_DIR/*/share/man in \$MANPATH" &gt;&amp;2
              else
                  export MANPATH="$NEWPATH"
                  echo "$NVM_DIR/*/share/man removed from \$MANPATH"
              fi
              NEWPATH="$(nvm_strip_path "$NODE_PATH" "/lib/node_modules")"
              if [ "_$NODE_PATH" != "_$NEWPATH" ]
              then
                  export NODE_PATH="$NEWPATH"
                  echo "$NVM_DIR/*/lib/node_modules removed from \$NODE_PATH"
              fi ;;
          ("use") local PROVIDED_VERSION
              if [ $# -eq 1 ]
              then
                  nvm_rc_version
                  if [ -n "$NVM_RC_VERSION" ]
                  then
                      PROVIDED_VERSION="$NVM_RC_VERSION"
                      VERSION="$(nvm_version "$PROVIDED_VERSION")"
                  fi
              else
                  local NVM_IOJS_PREFIX
                  NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
                  local NVM_NODE_PREFIX
                  NVM_NODE_PREFIX="$(nvm_node_prefix)"
                  PROVIDED_VERSION="$2"
                  case "_$PROVIDED_VERSION" in
                      ("_$NVM_IOJS_PREFIX"|"_io.js") VERSION="$(nvm_version $NVM_IOJS_PREFIX)"  ;;
                      ("_system") VERSION="system"  ;;
                      (*) VERSION="$(nvm_version "$PROVIDED_VERSION")"  ;;
                  esac
              fi
              if [ -z "$VERSION" ]
              then
                  nvm help &gt;&amp;2
                  return 127
              fi
              if [ "_$VERSION" = '_system' ]
              then
                  if nvm_has_system_node &amp;&amp; nvm deactivate &gt; /dev/null 2&gt;&amp;1
                  then
                      echo "Now using system version of node: $(node -v 2&gt;/dev/null)$(nvm_print_npm_version)"
                      return
                  elif nvm_has_system_iojs &amp;&amp; nvm deactivate &gt; /dev/null 2&gt;&amp;1
                  then
                      echo "Now using system version of io.js: $(iojs --version 2&gt;/dev/null)$(nvm_print_npm_version)"
                      return
                  else
                      echo "System version of node not found." &gt;&amp;2
                      return 127
                  fi
              elif [ "_$VERSION" = "_∞" ]
              then
                  echo "The alias \"$PROVIDED_VERSION\" leads to an infinite loop. Aborting." &gt;&amp;2
                  return 8
              fi
              nvm_ensure_version_installed "$PROVIDED_VERSION"
              EXIT_CODE=$?
              if [ "$EXIT_CODE" != "0" ]
              then
                  return $EXIT_CODE
              fi
              local NVM_VERSION_DIR
              NVM_VERSION_DIR="$(nvm_version_path "$VERSION")"
              PATH="$(nvm_strip_path "$PATH" "/bin")"
              PATH="$(nvm_prepend_path "$PATH" "$NVM_VERSION_DIR/bin")"
              if nvm_has manpath
              then
                  if [ -z "$MANPATH" ]
                  then
                      MANPATH=$(manpath)
                  fi
                  MANPATH="$(nvm_strip_path "$MANPATH" "/share/man")"
                  MANPATH="$(nvm_prepend_path "$MANPATH" "$NVM_VERSION_DIR/share/man")"
                  export MANPATH
              fi
              export PATH
              hash -r
              export NVM_PATH="$NVM_VERSION_DIR/lib/node"
              export NVM_BIN="$NVM_VERSION_DIR/bin"
              if [ "$NVM_SYMLINK_CURRENT" = true ]
              then
                  command rm -f "$NVM_DIR/current" &amp;&amp; ln -s "$NVM_VERSION_DIR" "$NVM_DIR/current"
              fi
              if nvm_is_iojs_version "$VERSION"
              then
                  echo "Now using io.js $(nvm_strip_iojs_prefix "$VERSION")$(nvm_print_npm_version)"
              else
                  echo "Now using node $VERSION$(nvm_print_npm_version)"
              fi ;;
          ("run") local provided_version
              local has_checked_nvmrc
              has_checked_nvmrc=0
              shift
              if [ $# -lt 1 ]
              then
                  nvm_rc_version &amp;&amp; has_checked_nvmrc=1
                  if [ -n "$NVM_RC_VERSION" ]
                  then
                      VERSION="$(nvm_version "$NVM_RC_VERSION")"
                  else
                      VERSION='N/A'
                  fi
                  if [ $VERSION = "N/A" ]
                  then
                      nvm help &gt;&amp;2
                      return 127
                  fi
              fi
              provided_version=$1
              if [ -n "$provided_version" ]
              then
                  VERSION="$(nvm_version "$provided_version")"
                  if [ "_$VERSION" = "_N/A" ] &amp;&amp; ! nvm_is_valid_version "$provided_version"
                  then
                      provided_version=''
                      if [ $has_checked_nvmrc -ne 1 ]
                      then
                          nvm_rc_version &amp;&amp; has_checked_nvmrc=1
                      fi
                      VERSION="$(nvm_version "$NVM_RC_VERSION")"
                  else
                      shift
                  fi
              fi
              local NVM_IOJS
              if nvm_is_iojs_version "$VERSION"
              then
                  NVM_IOJS=true
              fi
              local ARGS
              ARGS="$@"
              local OUTPUT
              local EXIT_CODE
              local ZHS_HAS_SHWORDSPLIT_UNSET
              ZHS_HAS_SHWORDSPLIT_UNSET=1
              if nvm_has "setopt"
              then
                  ZHS_HAS_SHWORDSPLIT_UNSET=$(setopt | command grep shwordsplit &gt; /dev/null ; echo $?)
                  setopt shwordsplit
              fi
              if [ "_$VERSION" = "_N/A" ]
              then
                  echo "$(nvm_ensure_version_prefix "$provided_version") is not installed yet" &gt;&amp;2
                  EXIT_CODE=1
              elif [ -z "$ARGS" ]
              then
                  if [ "$NVM_IOJS" = true ]
                  then
                      nvm exec "$VERSION" iojs
                  else
                      nvm exec "$VERSION" node
                  fi
                  EXIT_CODE="$?"
              elif [ "$NVM_IOJS" = true ]
              then
                  echo "Running io.js $(nvm_strip_iojs_prefix "$VERSION")"
                  OUTPUT="$(nvm use "$VERSION" &gt;/dev/null &amp;&amp; iojs $ARGS)"
                  EXIT_CODE="$?"
              else
                  echo "Running node $VERSION"
                  OUTPUT="$(nvm use "$VERSION" &gt;/dev/null &amp;&amp; node $ARGS)"
                  EXIT_CODE="$?"
              fi
              if [ $ZHS_HAS_SHWORDSPLIT_UNSET -eq 1 ] &amp;&amp; nvm_has "unsetopt"
              then
                  unsetopt shwordsplit
              fi
              if [ -n "$OUTPUT" ]
              then
                  echo "$OUTPUT"
              fi
              return $EXIT_CODE ;;
          ("exec") shift
              local provided_version
              provided_version="$1"
              if [ -n "$provided_version" ]
              then
                  VERSION="$(nvm_version "$provided_version")"
                  if [ "_$VERSION" = "_N/A" ]
                  then
                      nvm_rc_version
                      provided_version="$NVM_RC_VERSION"
                      VERSION="$(nvm_version "$provided_version")"
                  else
                      shift
                  fi
              fi
              nvm_ensure_version_installed "$provided_version"
              EXIT_CODE=$?
              if [ "$EXIT_CODE" != "0" ]
              then
                  return $EXIT_CODE
              fi
              echo "Running node $VERSION"
              NODE_VERSION="$VERSION" $NVM_DIR/nvm-exec "$@" ;;
          ("ls"|"list") local NVM_LS_OUTPUT
              local NVM_LS_EXIT_CODE
              NVM_LS_OUTPUT=$(nvm_ls "$2")
              NVM_LS_EXIT_CODE=$?
              nvm_print_versions "$NVM_LS_OUTPUT"
              if [ $# -eq 1 ]
              then
                  nvm alias
              fi
              return $NVM_LS_EXIT_CODE ;;
          ("ls-remote"|"list-remote") local PATTERN
              PATTERN="$2"
              local NVM_FLAVOR
              case "_$PATTERN" in
                  ("_$(nvm_iojs_prefix)"|"_$(nvm_node_prefix)") NVM_FLAVOR="$PATTERN"
                      PATTERN="$3"  ;;
              esac
              local NVM_LS_REMOTE_EXIT_CODE
              NVM_LS_REMOTE_EXIT_CODE=0
              local NVM_LS_REMOTE_OUTPUT
              NVM_LS_REMOTE_OUTPUT=''
              if [ "_$NVM_FLAVOR" != "_$(nvm_iojs_prefix)" ]
              then
                  NVM_LS_REMOTE_OUTPUT=$(nvm_ls_remote "$PATTERN")
                  NVM_LS_REMOTE_EXIT_CODE=$?
              fi
              local NVM_LS_REMOTE_IOJS_EXIT_CODE
              NVM_LS_REMOTE_IOJS_EXIT_CODE=0
              local NVM_LS_REMOTE_IOJS_OUTPUT
              NVM_LS_REMOTE_IOJS_OUTPUT=''
              if [ "_$NVM_FLAVOR" != "_$(nvm_node_prefix)" ]
              then
                  NVM_LS_REMOTE_IOJS_OUTPUT=$(nvm_ls_remote_iojs "$PATTERN")
                  NVM_LS_REMOTE_IOJS_EXIT_CODE=$?
              fi
              local NVM_OUTPUT
              NVM_OUTPUT="$(echo "$NVM_LS_REMOTE_OUTPUT
  $NVM_LS_REMOTE_IOJS_OUTPUT" | command grep -v "N/A" | sed '/^$/d')"
              if [ -n "$NVM_OUTPUT" ]
              then
                  nvm_print_versions "$NVM_OUTPUT"
                  return $NVM_LS_REMOTE_EXIT_CODE || $NVM_LS_REMOTE_IOJS_EXIT_CODE
              else
                  nvm_print_versions "N/A"
                  return 3
              fi ;;
          ("current") nvm_version current ;;
          ("which") local provided_version
              provided_version="$2"
              if [ $# -eq 1 ]
              then
                  nvm_rc_version
                  if [ -n "$NVM_RC_VERSION" ]
                  then
                      provided_version="$NVM_RC_VERSION"
                      VERSION=$(nvm_version "$NVM_RC_VERSION")
                  fi
              elif [ "_$2" != '_system' ]
              then
                  VERSION="$(nvm_version "$provided_version")"
              else
                  VERSION="$2"
              fi
              if [ -z "$VERSION" ]
              then
                  nvm help &gt;&amp;2
                  return 127
              fi
              if [ "_$VERSION" = '_system' ]
              then
                  if nvm_has_system_iojs &gt; /dev/null 2&gt;&amp;1 || nvm_has_system_node &gt; /dev/null 2&gt;&amp;1
                  then
                      local NVM_BIN
                      NVM_BIN="$(nvm use system &gt;/dev/null 2&gt;&amp;1 &amp;&amp; command which node)"
                      if [ -n "$NVM_BIN" ]
                      then
                          echo "$NVM_BIN"
                          return
                      else
                          return 1
                      fi
                  else
                      echo "System version of node not found." &gt;&amp;2
                      return 127
                  fi
              elif [ "_$VERSION" = "_∞" ]
              then
                  echo "The alias \"$2\" leads to an infinite loop. Aborting." &gt;&amp;2
                  return 8
              fi
              nvm_ensure_version_installed "$provided_version"
              EXIT_CODE=$?
              if [ "$EXIT_CODE" != "0" ]
              then
                  return $EXIT_CODE
              fi
              local NVM_VERSION_DIR
              NVM_VERSION_DIR="$(nvm_version_path "$VERSION")"
              echo "$NVM_VERSION_DIR/bin/node" ;;
          ("alias") local NVM_ALIAS_DIR
              NVM_ALIAS_DIR="$(nvm_alias_path)"
              command mkdir -p "$NVM_ALIAS_DIR"
              if [ $# -le 2 ]
              then
                  local DEST
                  for ALIAS_PATH in "$NVM_ALIAS_DIR"/"$2"*
                  do
                      ALIAS="$(command basename "$ALIAS_PATH")"
                      DEST="$(nvm_alias "$ALIAS" 2&gt; /dev/null)"
                      if [ -n "$DEST" ]
                      then
                          VERSION="$(nvm_version "$DEST")"
                          if [ "_$DEST" = "_$VERSION" ]
                          then
                              echo "$ALIAS -&gt; $DEST"
                          else
                              echo "$ALIAS -&gt; $DEST (-&gt; $VERSION)"
                          fi
                      fi
                  done
                  for ALIAS in "$(nvm_node_prefix)" "stable" "unstable" "$(nvm_iojs_prefix)"
                  do
                      if [ ! -f "$NVM_ALIAS_DIR/$ALIAS" ]
                      then
                          if [ $# -lt 2 ] || [ "~$ALIAS" = "~$2" ]
                          then
                              DEST="$(nvm_print_implicit_alias local "$ALIAS")"
                              if [ "_$DEST" != "_" ]
                              then
                                  VERSION="$(nvm_version "$DEST")"
                                  echo "$ALIAS -&gt; $DEST (-&gt; $VERSION) (default)"
                              fi
                          fi
                      fi
                  done
                  return
              fi
              if [ -z "$3" ]
              then
                  command rm -f "$NVM_ALIAS_DIR/$2"
                  echo "$2 -&gt; *poof*"
                  return
              fi
              VERSION="$(nvm_version "$3")"
              if [ $? -ne 0 ]
              then
                  echo "! WARNING: Version '$3' does not exist." &gt;&amp;2
              fi
              echo "$3" | tee "$NVM_ALIAS_DIR/$2" &gt; /dev/null
              if [ ! "_$3" = "_$VERSION" ]
              then
                  echo "$2 -&gt; $3 (-&gt; $VERSION)"
              else
                  echo "$2 -&gt; $3"
              fi ;;
          ("unalias") local NVM_ALIAS_DIR
              NVM_ALIAS_DIR="$(nvm_alias_path)"
              command mkdir -p "$NVM_ALIAS_DIR"
              if [ $# -ne 2 ]
              then
                  nvm help &gt;&amp;2
                  return 127
              fi
              [ ! -f "$NVM_ALIAS_DIR/$2" ] &amp;&amp; echo "Alias $2 doesn't exist!" &gt;&amp;2 &amp;&amp; return
              command rm -f "$NVM_ALIAS_DIR/$2"
              echo "Deleted alias $2" ;;
          ("reinstall-packages"|"copy-packages") if [ $# -ne 2 ]
              then
                  nvm help &gt;&amp;2
                  return 127
              fi
              local PROVIDED_VERSION
              PROVIDED_VERSION="$2"
              if [ "$PROVIDED_VERSION" = "$(nvm_ls_current)" ] || [ "$(nvm_version "$PROVIDED_VERSION")" = "$(nvm_ls_current)" ]
              then
                  echo 'Can not reinstall packages from the current version of node.' &gt;&amp;2
                  return 2
              fi
              local NPMLIST
              if [ "_$PROVIDED_VERSION" = "_system" ]
              then
                  if ! nvm_has_system_node &amp;&amp; ! nvm_has_system_iojs
                  then
                      echo 'No system version of node or io.js detected.' &gt;&amp;2
                      return 3
                  fi
                  NPMLIST=$(nvm deactivate &gt; /dev/null &amp;&amp; npm list -g --depth=0 | command tail -n +2)
              else
                  local VERSION
                  VERSION="$(nvm_version "$PROVIDED_VERSION")"
                  NPMLIST=$(nvm use "$VERSION" &gt; /dev/null &amp;&amp; npm list -g --depth=0 | command tail -n +2)
              fi
              local INSTALLS
              INSTALLS=$(echo "$NPMLIST" | command sed -e '/ -&gt; / d' -e 's/^.* \(.*\)@.*/\1/' -e '/^npm$/ d' | command xargs)
              echo "Copying global packages from $VERSION..."
              echo "$INSTALLS" | command xargs npm install -g --quiet
              local LINKS
              LINKS=$(echo "$NPMLIST" | command sed -n 's/.* -&gt; \(.*\)/\1/ p')
              echo "Linking global packages from $VERSION..."
              for LINK in $LINKS
              do
                  (
                      cd "$LINK" &amp;&amp; npm link
                  )
              done ;;
          ("clear-cache") command rm -f $NVM_DIR/v* "$(nvm_version_dir)" 2&gt; /dev/null
              echo "Cache cleared." ;;
          ("version") nvm_version $2 ;;
          ("--version") echo "0.25.1" ;;
          ("unload") unset -f nvm nvm_print_versions nvm_checksum nvm_iojs_prefix nvm_node_prefix nvm_add_iojs_prefix nvm_strip_iojs_prefix nvm_is_iojs_version nvm_ls_remote nvm_ls nvm_remote_version nvm_remote_versions nvm_version nvm_rc_version nvm_version_greater nvm_version_greater_than_or_equal_to nvm_supports_source_options &gt; /dev/null 2&gt;&amp;1
              unset RC_VERSION NVM_NODEJS_ORG_MIRROR NVM_DIR NVM_CD_FLAGS &gt; /dev/null 2&gt;&amp;1 ;;
          (*) nvm help &gt;&amp;2
              return 127 ;;
      esac
  }
  </code></pre>