24

How can I install Node.js and MongoDB so they are the most current versions? The available versions from package manager are not up to date, and PPA from Chris Lea for Node.js doesn't get updated on a regular basis.

2 Answers 2

22

The packages in the Advanced Packaging Tool (AptGet) do not work always or are outdated at times on Ubuntu. I suggest building Node.js from source and installing the recommended .deb package for Ubuntu provided by MongoDB.


Video Demo:

http://youtu.be/SWztoBP7RQQ


Requirements

These are needed for building and running.

sudo apt-get install build-essential lamp-server^

Build & Install Node.js

Node.js can easily be installed from its source package located on the front page of nodejs.org. It allows you to build the most compatible package for install.

Note: I recommend not installing the Linux Binaries for your system architecture (ie. x32, x64) as they are missing components you may require such as NPM.

Node.js Front Page

You can right click on the INSTALL button to copy the source package link and do the following also in your terminal console.(Example shows how to install current version as of 07-31-2014)

wget http://nodejs.org/dist/v0.10.30/node-v0.10.30.tar.gz

Decompress and enter the directory.

tar -xvzf node-v0.10.30.tar.gz
cd node-v0.10.30

Configure the make file for your machine then build and install as a root user.

./configure
make
sudo make install

Test to make sure it was installed.

node -v

You have also installed the Node Package Manager. Type the following to see items that were installed with version numbers:

npm version

Install Recommended MongoDB Package

MongoDB documentation suggest installing the .deb package provided by them for the latest versions as long as you are using running and Ubuntu over 9.10 "Karmic". Doc: Installing on Ubuntu

Acquire key:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

Acquire source list:

echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

Update package manager and install:

sudo apt-get update && sudo apt-get install mongodb-org

Test if MongoDB shell runs:

mongo

Press Ctrl+C to exit.

Note: mongo-10gen can be updated and upgraded from AptGet. You do not need to perform the install action again unless you remove it.

6
  • 2
    I also want to add the reference to 'How do I install the latest version of node.js?' suggest that the official PPA is the one from Chris Lea. This is incorrect but it has been the most reliable one as of yet. This is why updates fall behind because people must wait for him to have time to get to updating it. Aug 13, 2013 at 13:56
  • 1
    You can download the latest node binaries using: wget nodejs.org/dist/latest/$(curl -s nodejs.org/dist/latest | egrep -io "\"node-v.*-linux-x64.tar.gz\"" | sed "s/\"//g”) Mar 30, 2015 at 14:32
  • @EngineerDollery Are those always stable? Mar 30, 2015 at 16:10
  • 1
    I don't know if it's guaranteed or not -- you'd have to ask the node guys, but I can't find any evidence that they're not stable. There is a nightlies dist too. Mar 30, 2015 at 16:29
  • 1
    Cool, but change the last bit to sed 's/\"//g' -- it's less flakey. Mar 31, 2015 at 9:20
4

node.js

The current version of node.js on ubuntu is 0.10, where 0.12 is stable. You can upgrade via the built-in n command as

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

MongoDB

MongoDB has updated its repositories to http://repo.mongodb.org/apt/ubuntu. To install

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

(except if you use 12.04, in which case replace trusty, but this line works in vivid, for example, and you can skip the keyserver... step if you had a previous MongoDB-install and just do a update and dist-upgrade)

References: Node.js and MongoDB

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .