Installing node.js on Mac OSX.
Published on Feb 18, 2014Installing node.js on Mac OSX or Linux is very simple. You can download a installer for OSX or packages for Linux, but I like to use nvm to manage all the versions installed in the system.
What’s nvm
nvm stands for node version manager and is similar in concept to Ruby’s rvm.
You can easily install nvm running a one liner from the command line.
curl https://raw.github.com/creationix/nvm/master/install.sh | sh
Check out the documentation on the nvm site
Why to use a version manager
As I mentioned before node development happens at light speed and you may be working in multiple projects at the same time, each one having dependencies on different npm versions.
Even if you are only working on a single project, nvm comes handy when it’s time to upgrade to a newer version.
It also makes the upgrade, install and un-install versions a simple one liner.
Quick reference
To install a new version you can simple run the install command followed by the version number you want to install
nvm install v0.10.26
Notice that the version number starts with a lower case v
To list all installed versions in the system use the list command.
In my system this is what you can see at the moment.
nvm ls
v0.10.21 v0.8.7
current: v0.10.21
current -> 0.10 (-> v0.10.21)
default -> 0.10.21 (-> v0.10.21)
To switch the version active in that terminal window run the use command
nvm use 0.8.7
Now using node v0.8.7
You may have noticed that to switch version the version number is missing the lower case v
Of course, the most helpful of all commands is the help command
nvm --help
Node Version Manager
Usage:
nvm help Show this message
nvm install <version> Download and install a <version>
nvm uninstall <version> Uninstall a version
nvm use <version> Modify PATH to use <version>
nvm run <version> [<args>] Run <version> with <args> as arguments
nvm ls List installed versions
nvm ls <version> List versions matching a given description
nvm deactivate Undo effects of NVM on current shell
nvm alias [<pattern>] Show all aliases beginning with <pattern>
nvm alias <name> <version> Set an alias named <name> pointing to <version>
nvm unalias <name> Deletes the alias named <name>
nvm copy-packages <version> Install global NPM packages contained in <version> to current version
Example:
nvm install v0.4.12 Install a specific version number
nvm use 0.2 Use the latest available 0.2.x release
nvm run 0.4.12 myApp.js Run myApp.js using node v0.4.12
nvm alias default 0.4 Auto use the latest installed v0.4.x version
Alternatives to nvm.
n is an alternative to nvm in case you want to try it. I personally find nvm easy to use and straightforward.