This article covers a version of Ubuntu that is no longer supported. If you are currently operate a server running Ubuntu 12.04, we highly recommend upgrading or migrating to a supported version of Ubuntu:
Reason: Ubuntu 12.04 reached end of life (EOL) on April 28, 2017 and no longer receives security patches or updates. This guide is no longer maintained.
See Instead:
This guide might still be useful as a reference, but may not work on other Ubuntu releases. If available, we strongly recommend using a guide written for the version of Ubuntu you are using. You can use the search functionality at the top of the page to find a more recent version.
Node.js. is a system that uses event-driven (as opposed to thread-based) programming to build scalable applications and network programs. It is especially helpful for building web servers. Written in Javascript, node.js was created in 2009 and is currently the second most popular repository on github.
Feel free to skip this section if you have a compiler and curl installed on your droplet. These steps are included since both a compiler and curl are required for the node.js installation itself. Additionally, you will need to have sudo privileges on your virtual private server for the next three commands (the actual installation does not require them).
Go ahead and run an apt-get update before starting to install any of the requirements.
sudo apt-get update
Once the update finishes, install a compiler on your VPS.
sudo apt-get install build-essential
Additionally, be sure to download curl, which we will need to perform the installation itself.
sudo apt-get install curl
Once those two components have downloaded, you are all ready to install node.js.
I found the method described below to be the easiest way to install node.js. According to their site, there are eight ways to install node.js, and you can check out the other possibilities if you prefer.
This specific installation is very straightforward and installs node.js on the user's local system alone.
Start by changing the path to include commands from the ~/local/bin directory.
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
Follow up by sourcing the .bashrc file:
. ~/.bashrc
Create two new directories for the installation:
mkdir ~/local mkdir ~/node-latest-install
Switch into the latest-install folder:
cd ~/node-latest-install
Run curl to get the node.js tarball and subsequently untar it.
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
Once that has completed, you can go ahead and start the installation process, limiting it to the local user. This ensures that you will not need sudo later.
./configure --prefix=~/local
Run make install, but be warned: it does take a while.
make install
Finish up by downloading the the node package manager through curl:
curl -L https://npmjs.org/install.sh | sh
After you are all done, you can quickly check which version you have installed on your virtual private server.
node -v
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
I had success installing it on Ubuntu 32 bits version, but it won’t install it on the 64 bits Ubuntu, it appears the compiler is crashing. Here is all the text shown after I run “make install”. You can see the error message in the end:
http://d.pr/n/cFpy
Anyone had any problem like this?
Fixed it. The problem above usually happens when the system runs out of memory. My VPS has only 256mb RAM, and it appears gcc uses more memory to compile it in 64 bits version, so I created a swapfile following this tutorial: http://digitizor.com/2011/02/06/create-swap-file-ubuntu-linux/
Hope it helps if anyone have the same problem.
Probably best to run on 512mb or higher while compiling.
The same issue can happen with Rails and ruby, the need to install the latest version often means you can’t go through package management and have to compile from src.
Thanks for the post, it helped me install node on ubutnu 12.04, the only mistake or things changed is URL to update npm is changed
from curl http://npmjs.org/install.sh | sh to curl https://npmjs.org/install.sh | sh
thanks Srinath
Thank you for pointing out the URL change! I have updated the article to reflect the new URL.
sudo apt-get install nodejs worked for me
I use chris lea’s repo $ sudo apt-get install python-software-properties $ sudo apt-add-repository ppa:chris-lea/node.js $ sudo apt-get update $ sudo apt-get install nodejs
Thank for your comments. I will go through and update this article to include installing it through apt-get and Chris Lea’s Repo.
I’ve always compiled it from a tarball which I grab from the Node.js web site. Then it’s just a matter of ./configure, make & make install.
Configure will show you what it’s about to install (it includes npm amongst other things) & defaults to /usr/local.
You just have to make sure you have a tool kit installed (build-essential, `group install “Development Tools”, etc depending on your distro) & Python 2.6 or greater…
Best way I know on how to install node is from https://github.com/creationix/nvm So you can easily manage versions.
Also, you probably don’t want to have a Linux x64 instance on a machine with less than 4Gb RAM, there are good explanations online about this, basically you are wasting a bunch of RAM