mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-10-31 01:45:50 +08:00 
			
		
		
		
	Make sure nvm run works without a version argument when .nvmrc specifies a version.
				
					
				
			This commit is contained in:
		
							
								
								
									
										37
									
								
								nvm.sh
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								nvm.sh
									
									
									
									
									
								
							| @@ -208,7 +208,7 @@ nvm() { | ||||
|       echo "    nvm install [-s] <version>  Download and install a <version>, [-s] from source. Uses .nvmrc if available" | ||||
|       echo "    nvm uninstall <version>     Uninstall a version" | ||||
|       echo "    nvm use <version>           Modify PATH to use <version>. Uses .nvmrc if available" | ||||
|       echo "    nvm run <version> [<args>]  Run <version> with <args> as arguments" | ||||
|       echo "    nvm run <version> [<args>]  Run <version> with <args> as arguments. Uses .nvmrc if available for <version>" | ||||
|       echo "    nvm current                 Display currently activated version" | ||||
|       echo "    nvm ls                      List installed versions" | ||||
|       echo "    nvm ls <version>            List versions matching a given description" | ||||
| @@ -471,20 +471,37 @@ nvm() { | ||||
|       echo "Now using node $VERSION" | ||||
|     ;; | ||||
|     "run" ) | ||||
|       local provided_version | ||||
|       local has_checked_nvmrc=0 | ||||
|       # run given version of node | ||||
|       if [ $# -lt 2 ]; then | ||||
|         nvm_rc_version | ||||
|         if [ -z "$NVM_RC_VERSION" ]; then | ||||
|       shift | ||||
|       if [ $# -lt 1 ]; then | ||||
|         nvm_rc_version && 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 | ||||
|           return | ||||
|         fi | ||||
|       fi | ||||
|       NVM_PROVIDED_VERSION=`nvm_version $2` | ||||
|       if [ -z "$NVM_PROVIDED_VERSION" ]; then | ||||
|         nvm_rc_version | ||||
|         NVM_PROVIDED_VERSION="$NVM_RC_VERSION" | ||||
|  | ||||
|       provided_version=$1 | ||||
|       if [ -n "$provided_version" ]; then | ||||
|         VERSION=`nvm_version $provided_version` | ||||
|         if [ $VERSION = "N/A" ]; then | ||||
|           provided_version='' | ||||
|           if [ $has_checked_nvmrc -ne 1 ]; then | ||||
|             nvm_rc_version && has_checked_nvmrc=1 | ||||
|           fi | ||||
|           VERSION=`nvm_version $NVM_RC_VERSION` | ||||
|         else | ||||
|           shift | ||||
|         fi | ||||
|       fi | ||||
|       VERSION="$NVM_PROVIDED_VERSION" | ||||
|  | ||||
|       if [ ! -d "$NVM_DIR/$VERSION" ]; then | ||||
|         echo "$VERSION version is not installed yet" | ||||
|         return; | ||||
| @@ -495,7 +512,7 @@ nvm() { | ||||
|         RUN_NODE_PATH="$NVM_DIR/$VERSION/lib/node_modules:$NODE_PATH" | ||||
|       fi | ||||
|       echo "Running node $VERSION" | ||||
|       NODE_PATH=$RUN_NODE_PATH $NVM_DIR/$VERSION/bin/node "${@:3}" | ||||
|       NODE_PATH=$RUN_NODE_PATH $NVM_DIR/$VERSION/bin/node "$@" | ||||
|     ;; | ||||
|     "ls" | "list" ) | ||||
|       nvm_print_versions "`nvm_ls $2`" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user