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.