Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Node Version Manager - Simple bash script to manage multiple active node.js versions
Pull request Compare This branch is 7 commits ahead, 1048 commits behind creationix:master.
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Node Version Manager


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 "" file inside it. I put mine in a folder called ".nvm".

Or if you have git installed, then just clone it:

git clone git:// ~/.nvm

To activate nvm, you need to source it from your bash shell

. ~/.nvm/

I always add this line to my ~/.bashrc or ~/.profile file to have it automatically sources upon login.
Often I also put in a line to use a specific version of node.


To download, compile, and install the v0.4.1 release of node, do this:

nvm install v0.4.1

And then in any new shell just use the installed version:

nvm use v0.4.1

Or you can just run it:

nvm run v0.4.1

If you want to see what versions are available:

nvm ls

To restore your PATH, you can deactivate it.

nvm deactivate

To set a default Node version to be used in any new shell, use the alias 'default':

nvm alias default v0.4.1


If you try to install a node version and the installation fails, be sure to delete the node downloads from src (~/.nvm/src/) or you might get an error when trying to reinstall them again or you might get an error like the following:

curl: (33) HTTP server doesn't seem to support byte ranges. Cannot resume.

Where's my 'sudo node'? Checkout this link:

on Arch Linux and other systems using python3 by default, before running install you need to

  export PYTHON=python2
Something went wrong with that request. Please try again.