mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-10-31 10:15:53 +08:00 
			
		
		
		
	Add unalias and uninstall commands.
This commit is contained in:
		
							
								
								
									
										39
									
								
								nvm.sh
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								nvm.sh
									
									
									
									
									
								
							| @@ -82,6 +82,7 @@ nvm() | ||||
|       echo "Usage:" | ||||
|       echo "    nvm help                    Show this message" | ||||
|       echo "    nvm install <version>       Download and install a <version>" | ||||
|       echo "    nvm uninstall <version>     Uninstall a version" | ||||
|       echo "    nvm use <version>           Modify PATH to use <version>" | ||||
|       echo "    nvm ls                      List versions (installed versions are blue)" | ||||
|       echo "    nvm ls <version>            List versions matching a given description" | ||||
| @@ -89,6 +90,7 @@ nvm() | ||||
|       echo "    nvm sync                    Update the local cache of available versions" | ||||
|       echo "    nvm alias [<pattern>]       Show all aliases beginning with <pattern>" | ||||
|       echo "    nvm alias <name> <version>  Set an alias named <name> pointing to <version>" | ||||
|       echo "    nvm unalias <name>          Deletes the alias named <name>" | ||||
|       echo "    nvm copy-packages <version> Install global NPM packages contained in <version> to current version" | ||||
|       echo | ||||
|       echo "Example:" | ||||
| @@ -135,6 +137,36 @@ nvm() | ||||
|         echo "nvm: install $VERSION failed!" | ||||
|       fi | ||||
|     ;; | ||||
|     "uninstall" ) | ||||
|       [ $# -ne 2 ] && nvm help && return | ||||
|       if [[ $2 == `nvm_version` ]]; then | ||||
|         echo "nvm: Cannot uninstall currently-active node version, $2." | ||||
|         return | ||||
|       fi | ||||
|       VERSION=`nvm_version $2` | ||||
|       if [ ! -d $NVM_DIR/$VERSION ]; then | ||||
|         echo "$VERSION version is not installed yet" | ||||
|         return; | ||||
|       fi | ||||
|  | ||||
|       # Delete all files related to target version. | ||||
|       (cd "$NVM_DIR" && \ | ||||
|           rm -rf "node-$VERSION" 2>/dev/null && \ | ||||
|           mkdir -p "$NVM_DIR/src" && \ | ||||
|           cd "$NVM_DIR/src" && \ | ||||
|           rm -f "node-$VERSION.tar.gz" 2>/dev/null && \ | ||||
|           rm -rf "$NVM_DIR/$VERSION" 2>/dev/null) | ||||
|       echo "Uninstalled node $VERSION" | ||||
|  | ||||
|       # Rm any aliases that point to uninstalled version. | ||||
|       for A in `grep -l $VERSION $NVM_DIR/alias/*` | ||||
|       do | ||||
|         nvm unalias `basename $A` | ||||
|       done | ||||
|  | ||||
|       # Run sync in order to restore version stub file in $NVM_DIR. | ||||
|       nvm sync 1>/dev/null | ||||
|     ;; | ||||
|     "deactivate" ) | ||||
|       if [[ $PATH == *$NVM_DIR/*/bin* ]]; then | ||||
|         export PATH=${PATH%$NVM_DIR/*/bin*}${PATH#*$NVM_DIR/*/bin:} | ||||
| @@ -221,6 +253,13 @@ nvm() | ||||
|         echo "$2 -> $3" | ||||
|       fi | ||||
|     ;; | ||||
|     "unalias" ) | ||||
|       mkdir -p $NVM_DIR/alias | ||||
|       [ $# -ne 2 ] && nvm help && return | ||||
|       [ ! -f $NVM_DIR/alias/$2 ] && echo "Alias $2 doesn't exist!" && return | ||||
|       rm -f $NVM_DIR/alias/$2 | ||||
|       echo "Deleted alias $2" | ||||
|     ;; | ||||
|     "sync" ) | ||||
|         [ "$NOCURL" ] && curl && return | ||||
|         LATEST=`nvm_version latest` | ||||
|   | ||||
		Reference in New Issue
	
	Block a user