Installing Node.js on a VPS
The install process couldn’t be easier. Once you’re logged into your VPS, run this command:
curl https://raw.github.com/creationix/nvm/master/install.sh | sh
You’ll see some output fly by, and then nvm will be installed. You will see a line that says:
=> Close and reopen your terminal to start using NVM
It’s not actually necessary to log out, we just need to make sure that the changes nvm made to your path are actually reflected, so just do:
Alternatively, run the command suggested in the output of the script. Now type:
Should you see the error,
-bash: nvm: command not found it may be because git is not installed.
Go ahead and install git and rerun the script:
apt-get install git
And you will be shown a list of all the available versions of node.js. You can always find out the latest stable release by heading to the node.js website, where it’s printed in the center of the page.
To install version 0.10.13 (the latest as of this writing) type:
nvm install 0.10.13
If you type:
You will now see that node v0.10.13 is installed and active. If you had an older node app that only works with node v0.8.16, and wanted to downgrade, then you would input:
nvm install v0.8.16
to install and switch to v0.8.16.
When you’re done and want to switch back to v0.10.13, you can do so with nvm’s use command:
nvm use v0.10.13
Nvm is great and makes switching between node versions easy and convenient. However, there’s one caveat. If you type:
you will see something interesting. Nvm installs node.js inside your user’s home directory. This is fine for development, but if you want to actually host node applications, you don’t want to install the latest new version of node via nvm and discover that you’ve inadvertently caused your production node app (which can be incompatible with the latest node.js) to stop working. It’s best to install one copy of node globally so that other users can access it, and use nvm to switch between your development versions.
To do this, run the following command (entering your user’s password at the prompt):