mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-10-31 10:15:53 +08:00 
			
		
		
		
	testing NVM_DIR
This commit is contained in:
		
							
								
								
									
										52
									
								
								install.sh
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								install.sh
									
									
									
									
									
								
							| @@ -6,9 +6,9 @@ nvm_has() { | ||||
|   type "$1" > /dev/null 2>&1 | ||||
| } | ||||
|  | ||||
| if [ -z "$NVM_DIR" ]; then | ||||
|   NVM_DIR="$HOME/.nvm" | ||||
| fi | ||||
| nvm_install_dir() { | ||||
|   echo ${NVM_DIR:-"$HOME/.nvm"} | ||||
| } | ||||
|  | ||||
| nvm_latest_version() { | ||||
|   echo "v0.31.2" | ||||
| @@ -56,45 +56,50 @@ nvm_download() { | ||||
| } | ||||
|  | ||||
| install_nvm_from_git() { | ||||
|   if [ -d "$NVM_DIR/.git" ]; then | ||||
|     echo "=> nvm is already installed in $NVM_DIR, trying to update using git" | ||||
|   local INSTALL_DIR | ||||
|   INSTALL_DIR="$(nvm_install_dir)" | ||||
|  | ||||
|   if [ -d "$INSTALL_DIR/.git" ]; then | ||||
|     echo "=> nvm is already installed in $INSTALL_DIR, trying to update using git" | ||||
|     printf "\r=> " | ||||
|     cd "$NVM_DIR" && (command git fetch 2> /dev/null || { | ||||
|       echo >&2 "Failed to update nvm, run 'git fetch' in $NVM_DIR yourself." && exit 1 | ||||
|     cd "$INSTALL_DIR" && (git fetch 2> /dev/null || { | ||||
|       echo >&2 "Failed to update nvm, run 'git fetch' in $INSTALL_DIR yourself." && exit 1 | ||||
|     }) | ||||
|   else | ||||
|     # Cloning to $NVM_DIR | ||||
|     echo "=> Downloading nvm from git to '$NVM_DIR'" | ||||
|     echo "=> Downloading nvm from git to '$INSTALL_DIR'" | ||||
|     printf "\r=> " | ||||
|     mkdir -p "$NVM_DIR" | ||||
|     command git clone "$(nvm_source git)" "$NVM_DIR" | ||||
|     mkdir -p "$INSTALL_DIR" | ||||
|     git clone "$(nvm_source)" "$INSTALL_DIR" | ||||
|   fi | ||||
|   cd "$NVM_DIR" && command git checkout --quiet "$(nvm_latest_version)" | ||||
|   if [ ! -z "$(cd "$NVM_DIR" && git show-ref refs/heads/master)" ]; then | ||||
|   cd "$INSTALL_DIR" && command git checkout --quiet "$(nvm_latest_version)" | ||||
|   if [ ! -z "$(cd "$INSTALL_DIR" && git show-ref refs/heads/master)" ]; then | ||||
|     if git branch --quiet 2>/dev/null; then | ||||
|       cd "$NVM_DIR" && command git branch --quiet -D master >/dev/null 2>&1 | ||||
|       cd "$INSTALL_DIR" && command git branch --quiet -D master >/dev/null 2>&1 | ||||
|     else | ||||
|       echo >&2 "Your version of git is out of date. Please update it!" | ||||
|       cd "$NVM_DIR" && command git branch -D master >/dev/null 2>&1 | ||||
|       cd "$INSTALL_DIR" && command git branch -D master >/dev/null 2>&1 | ||||
|     fi | ||||
|   fi | ||||
|   return | ||||
| } | ||||
|  | ||||
| install_nvm_as_script() { | ||||
|   local INSTALL_DIR | ||||
|   INSTALL_DIR="$(nvm_install_dir)" | ||||
|   local NVM_SOURCE_LOCAL | ||||
|   NVM_SOURCE_LOCAL=$(nvm_source script) | ||||
|   local NVM_EXEC_SOURCE | ||||
|   NVM_EXEC_SOURCE=$(nvm_source script-nvm-exec) | ||||
|  | ||||
|   # Downloading to $NVM_DIR | ||||
|   mkdir -p "$NVM_DIR" | ||||
|   if [ -f "$NVM_DIR/nvm.sh" ]; then | ||||
|     echo "=> nvm is already installed in $NVM_DIR, trying to update the script" | ||||
|   # Downloading to $INSTALL_DIR | ||||
|   mkdir -p "$INSTALL_DIR" | ||||
|   if [ -f "$INSTALL_DIR/nvm.sh" ]; then | ||||
|     echo "=> nvm is already installed in $INSTALL_DIR, trying to update the script" | ||||
|   else | ||||
|     echo "=> Downloading nvm as script to '$NVM_DIR'" | ||||
|     echo "=> Downloading nvm as script to '$INSTALL_DIR'" | ||||
|   fi | ||||
|   nvm_download -s "$NVM_SOURCE_LOCAL" -o "$NVM_DIR/nvm.sh" || { | ||||
|   nvm_download -s "$NVM_SOURCE_LOCAL" -o "$INSTALL_DIR/nvm.sh" || { | ||||
|     echo >&2 "Failed to download '$NVM_SOURCE_LOCAL'" | ||||
|     return 1 | ||||
|   } | ||||
| @@ -228,8 +233,10 @@ nvm_do_install() { | ||||
|  | ||||
|   local NVM_PROFILE | ||||
|   NVM_PROFILE=$(nvm_detect_profile) | ||||
|   local INSTALL_DIR | ||||
|   INSTALL_DIR="$(nvm_install_dir)" | ||||
|  | ||||
|   SOURCE_STR="\nexport NVM_DIR=\"$NVM_DIR\"\n[ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$NVM_DIR/nvm.sh\"  # This loads nvm" | ||||
|   SOURCE_STR="\nexport NVM_DIR=\"$INSTALL_DIR\"\n[ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$NVM_DIR/nvm.sh\"  # This loads nvm" | ||||
|  | ||||
|   if [ -z "$NVM_PROFILE" ] ; then | ||||
|     echo "=> Profile not found. Tried $NVM_PROFILE (as defined in \$PROFILE), ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile." | ||||
| @@ -261,7 +268,8 @@ nvm_do_install() { | ||||
| nvm_reset() { | ||||
|   unset -f nvm_reset nvm_has nvm_latest_version \ | ||||
|     nvm_source nvm_download install_nvm_as_script install_nvm_from_git \ | ||||
|     nvm_detect_profile nvm_check_global_modules nvm_do_install | ||||
|     nvm_detect_profile nvm_check_global_modules nvm_do_install \ | ||||
|     nvm_install_dir | ||||
| } | ||||
|  | ||||
| [ "_$NVM_ENV" = "_testing" ] || nvm_do_install | ||||
|   | ||||
		Reference in New Issue
	
	Block a user