mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-10-31 18:25:52 +08:00 
			
		
		
		
	Trim and update nvm
This commit is contained in:
		| @@ -2,7 +2,7 @@ | |||||||
|  |  | ||||||
| ## Installation | ## Installation | ||||||
|  |  | ||||||
| First you'll need to make sure your system has a c++ compiler.  For OSX, XCode will work, for Ubuntu, the build-essential package works.  You'll also need `git` if you want to track HEAD. | First you'll need to make sure your system has a c++ compiler.  For OSX, XCode will work, for Ubuntu, the build-essential and libssl-dev packages work. | ||||||
|  |  | ||||||
| To install create a folder somewhere in your filesystem with the "`nvm.sh`" file inside it.  I put mine in a folder called "`.nvm`". | To install create a folder somewhere in your filesystem with the "`nvm.sh`" file inside it.  I put mine in a folder called "`.nvm`". | ||||||
|  |  | ||||||
| @@ -10,38 +10,25 @@ Or if you have `git` installed, then just clone it: | |||||||
|  |  | ||||||
|     git clone git://github.com/creationix/nvm.git ~/.nvm |     git clone git://github.com/creationix/nvm.git ~/.nvm | ||||||
|  |  | ||||||
| Then add two lines to your bash profile: | To activate nvm, you need to source it from your bash shell | ||||||
|  |  | ||||||
|     NVM_DIR=$HOME/.nvm |     . ~/.nvm/nvm.sh | ||||||
|     . $NVM_DIR/nvm.sh |  | ||||||
|     nvm use |  | ||||||
|  |  | ||||||
| The first line loads the `nvm` function into your bash shell so that it's available as a command.  The second line sets your default node version to the latest released version. |  | ||||||
|      |      | ||||||
| ## Usage | ## Usage | ||||||
|  |  | ||||||
| To download, install, and use the v0.1.94 release of node do this: | To download, install, and use the v0.2.5 release of node do this: | ||||||
|  |  | ||||||
|     nvm install v0.1.94 |     nvm install v0.2.5 | ||||||
|  |  | ||||||
| And then in any new shell just use the installed version: | And then in any new shell just use the installed version: | ||||||
|  |  | ||||||
|     nvm use v0.1.94 |     nvm use v0.2.5 | ||||||
|  |  | ||||||
| If you want to track HEAD then use the clone command: |  | ||||||
|  |  | ||||||
|     nvm clone |  | ||||||
|  |  | ||||||
| Then in any new shell you can get this version with: |  | ||||||
|  |  | ||||||
|     nvm use HEAD |  | ||||||
|  |  | ||||||
| When you want to grab the latest from the node repo do: |  | ||||||
|  |  | ||||||
|     nvm update |  | ||||||
|  |  | ||||||
| If you want to see what versions you have installed issue: | If you want to see what versions you have installed issue: | ||||||
|  |  | ||||||
|     nvm list |     nvm ls | ||||||
|  |  | ||||||
|  | To restore your PATH, you can deactivate it. | ||||||
|  |  | ||||||
|  |     nvm deactivate | ||||||
|  |  | ||||||
| If you want to install nvm to somewhere other than `$HOME/.nvm`, then set the `$NVM_DIR` environment variable before sourcing the nvm.sh file. |  | ||||||
							
								
								
									
										62
									
								
								nvm.sh
									
									
									
									
									
								
							
							
						
						
									
										62
									
								
								nvm.sh
									
									
									
									
									
								
							| @@ -5,6 +5,9 @@ | |||||||
| # Implemented by Tim Caswell <tim@creationix.com> | # Implemented by Tim Caswell <tim@creationix.com> | ||||||
| # with much bash help from Matthew Ranney | # with much bash help from Matthew Ranney | ||||||
|  |  | ||||||
|  | # Auto detect the NVM_DIR using magic bash 3.x stuff | ||||||
|  | export NVM_DIR=$(dirname ${BASH_ARGV[0]}) | ||||||
|  |  | ||||||
| nvm() | nvm() | ||||||
| { | { | ||||||
|   START=`pwd` |   START=`pwd` | ||||||
| @@ -18,18 +21,15 @@ nvm() | |||||||
|       echo "Node Version Manager" |       echo "Node Version Manager" | ||||||
|       echo |       echo | ||||||
|       echo "Usage:" |       echo "Usage:" | ||||||
|       echo "    nvm help            (Show this message)" |       echo "    nvm help                Show this message" | ||||||
|       echo "    nvm install version (Download and install a released version)" |       echo "    nvm install <version>   Download and install a <version>" | ||||||
|       echo "    nvm list            (Show all installed versions)" |       echo "    nvm use <version>       Modify PATH to use <version>" | ||||||
|       echo "    nvm use version     (Set this version in the PATH)" |       echo "    nvm ls                  List versions currently installed" | ||||||
|       echo "    nvm use             (Use the latest stable version)" |       echo "    nvm deactivate          Undo effects of NVM on current shell" | ||||||
|       echo "    nvm deactivate      (Remove nvm entry from PATH)" |  | ||||||
|       echo "    nvm addlib          (Copies the module in cwd to the current env)" |  | ||||||
|       echo "    nvm linklib         (Links the module in cwd to the current env)" |  | ||||||
|       echo "    nvm listlibs        (Show the modules in the current env)" |  | ||||||
|       echo |       echo | ||||||
|       echo "Example:" |       echo "Example:" | ||||||
|       echo "    nvm install v0.1.94" |       echo "    nvm install v0.2.5" | ||||||
|  |       echo "    nvm use v0.2.5" | ||||||
|       echo |       echo | ||||||
|     ;; |     ;; | ||||||
|     "install" ) |     "install" ) | ||||||
| @@ -55,37 +55,11 @@ nvm() | |||||||
|       else |       else | ||||||
|         echo "Could not find $NVM_DIR/*/bin in \$PATH" |         echo "Could not find $NVM_DIR/*/bin in \$PATH" | ||||||
|       fi |       fi | ||||||
|       unset NVM_PATH |  | ||||||
|       unset NVM_DIR |  | ||||||
|       unset NVM_BIN |  | ||||||
|       echo "Unset NVM_PATH, NVM_BIN, and NVM_DIR." |  | ||||||
|     ;; |  | ||||||
|     "addlib" ) |  | ||||||
|       mkdir -p $NVM_PATH |  | ||||||
|       mkdir -p $NVM_BIN |  | ||||||
|       if [ -d `pwd`/lib ]; then |  | ||||||
|         cp -r `pwd`/lib/ "$NVM_PATH/" |  | ||||||
|         cp -r `pwd`/bin/ "$NVM_BIN/" |  | ||||||
|       else |  | ||||||
|         echo "Can't find lib dir at `pwd`/lib" |  | ||||||
|       fi |  | ||||||
|     ;; |  | ||||||
|     "linklib" ) |  | ||||||
|       mkdir -p $NVM_PATH |  | ||||||
|       mkdir -p $NVM_BIN |  | ||||||
|       if [ -d `pwd`/lib ]; then |  | ||||||
|         ln -sf `pwd`/lib/* "$NVM_PATH/" |  | ||||||
|         ln -sf `pwd`/bin/* "$NVM_BIN/" |  | ||||||
|       else |  | ||||||
|         echo "Can't find lib dir at `pwd`/lib" |  | ||||||
|       fi |  | ||||||
|     ;; |     ;; | ||||||
|     "use" ) |     "use" ) | ||||||
|       if [ $# -ne 2 ]; then |       if [ $# -ne 2 ]; then | ||||||
|         for f in $NVM_DIR/v*; do |         nvm help | ||||||
|           nvm use ${f##*/} > /dev/null |         return | ||||||
|         done |  | ||||||
|         return; |  | ||||||
|       fi |       fi | ||||||
|       if [ ! -d $NVM_DIR/$2 ]; then |       if [ ! -d $NVM_DIR/$2 ]; then | ||||||
|         echo "$2 version is not installed yet" |         echo "$2 version is not installed yet" | ||||||
| @@ -101,21 +75,11 @@ nvm() | |||||||
|       export NVM_BIN="$NVM_DIR/$2/bin" |       export NVM_BIN="$NVM_DIR/$2/bin" | ||||||
|       echo "Now using node $2" |       echo "Now using node $2" | ||||||
|     ;; |     ;; | ||||||
|     "listlibs" ) |     "ls" ) | ||||||
|       ls $NVM_PATH | grep -v wafadmin |  | ||||||
|     ;; |  | ||||||
|     "list" ) |  | ||||||
|       if [ $# -ne 1 ]; then |       if [ $# -ne 1 ]; then | ||||||
|         nvm help |         nvm help | ||||||
|         return; |         return; | ||||||
|       fi |       fi | ||||||
|       if [ -d $NVM_DIR/HEAD ]; then |  | ||||||
|         if [[ $PATH == *$NVM_DIR/HEAD/bin* ]]; then |  | ||||||
|           echo "HEAD *" |  | ||||||
|         else |  | ||||||
|           echo "HEAD" |  | ||||||
|         fi |  | ||||||
|       fi |  | ||||||
|       for f in $NVM_DIR/v*; do |       for f in $NVM_DIR/v*; do | ||||||
|         if [[ $PATH == *$f/bin* ]]; then |         if [[ $PATH == *$f/bin* ]]; then | ||||||
|           echo "v${f##*v} *" |           echo "v${f##*v} *" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user