This is going to be a quick tutorial on how to run multiple node versions side by side. There are many different ways to do it but this works well for me.

First I compile node versions from source and I set them up in the following directory structure:

/home/pkrumins/installs/node-v0.8.20
/home/pkrumins/installs/node-v0.8.21
/home/pkrumins/installs/node-v0.10.3
/home/pkrumins/installs/node-v0.10.22

When compiling node I simply specify --prefix=/home/pkrumins/installs/node-vVERSION, and make install installs it into that path.

Next I've this bash alias:

function chnode {
  local node_path="/home/pkrumins/installs/node-v$1/bin"
  test -z "$1" && echo "usage: chnode <node version>" && return
  test ! -d "$node_path" && echo "node version $1 doesn't exist" && return
  PATH=$node_path:$PATH
}

Now when I want to run node 0.8.21, I run chnode 0.8.21 to update the path:

$ chnode 0.8.21
$ which node
/home/pkrumins/installs/node-v0.8.21/bin/node
$ node --version
v0.8.21

Or if I want to run node 0.6.18, I run chnode 0.6.18:

$ chnode 0.6.18
$ which node
/home/pkrumins/installs/node-v0.6.18/bin/node
$ node --version
v0.6.18

Works for me both locally and in production. Until next time.

Comments

Patrick Kettner Permalink
February 12, 2014, 22:02

Is there a reason you like doing this rather than nvm?

Patrick Kettner Permalink
February 12, 2014, 22:02

Is there a reason you like doing this rather than nvm?

February 12, 2014, 22:15

I've simply been using this before nvm existed so I never tried it.

May 02, 2014, 09:49

Big thanks for this tips!
forum młodzieżowe .

June 06, 2014, 13:19

Nowoczesny flat design tworzenie stron opole atrakcyjne ceny.

August 24, 2014, 16:43

Useful information. Fortunate me I found your site by accident, and I am surprised why this coincidence didn’t took place earlier! I bookmarked it.

November 27, 2014, 17:00

Multiple node is a great work of you sir.
I will be using it now on on happy new year 2015 messages, happy new year greetings 2015, merry christmas 2014 wishes, happy new year 2015 wishes. Thanks for the updates.

Leave a new comment

(why do I need your e-mail?)

(Your twitter name, if you have one. (I'm @pkrumins, btw.))

Type the word "linux": (just to make sure you're a human)

Please preview the comment before submitting to make sure it's OK.

Advertisements