Compiling Node.js from source on Ubuntu 10.04
Compiling Node.js from source is easy enough so here's how.
Compiling Node.js from source is easy enough so here’s how.
Installing from a tarball ¶
Node.js needs a few things to compile so make sure they are installed.
sudo apt-get update
sudo apt-get install build-essential openssl libssl-dev pkg-config
Get the link for the latest tarball from the Source Code link on the Node.js homepage. Then download it and extract it.
cd /usr/local/src
sudo mkdir node
cd node
sudo wget http://nodejs.org/dist/v0.6.6/node-v0.6.6.tar.gz
sudo tar -xzf node-v0.6.6.tar.gz
Now you can compile and install the binary. By default Node.js will be installed
to /usr/local/bin/node
and npm will be installed to /usr/local/bin/npm
.
cd node-v0.6.6/
sudo ./configure
sudo make
sudo make install
Upgrading via a tarball ¶
To upgrade Node.js simply download the new tarball, extract and repeat the installation process.
Installing from Git ¶
If you plan to upgrade each time a new release comes out you may find cloning the Git repository more convenient than downloading and extracting a tarball each time.
You will need Git and the dependencies to be installed first.
sudo apt-get update
sudo apt-get install git-core build-essential openssl libssl-dev pkg-config
Using Git means that instead of downloading extracting a tarball you can just
clone the repository and checkout the latest version. If you need to check the
versions that are available run git tag
.
cd /usr/local/src
sudo git clone git://github.com/joyent/node.git
cd node
sudo git checkout v0.6.6
Now you can compile the binary as before
sudo ./configure
sudo make
sudo make install
Upgrading via Git ¶
To upgrade to a new release of Node.js first pull the latest source.
cd /usr/local/src/node
sudo git checkout master
sudo git pull origin master
Then checkout the latest version where v.x.x.x
is the version you want.
sudo git checkout vx.x.x
Then follow the installation process as before
sudo ./configure
sudo make
sudo make install
This will upgrade Node.js and overwrite the previous version.
Tags
Can you help make this article better? You can edit it here and send me a pull request.
See Also
-
Using rbenv to manage rubies
How I use rbenv to manage rubies and integrate with other tools -
Managing Unicorn Workers with Monit
A walkthrough on how to manage Unicorn worker processes using Monit -
Migrating from Slicehost to Linode
How I moved from Slicehost to Linode and how I did it.