Periodically, I check my site analytics to see which posts are getting the most
traffic. It never ceases to amaze me at how many posts documenting older
versions of Ubuntu, as far back as 16.04 LTS, still receive regular traffic.
While they may not be evergreen forever, there’s something to be said
about explicitly targeting these older versions in your content.
Just because a new version of Ubuntu drops, currently LTS version 22.04, that
doesn’t mean everybody is in a hurry to upgrade to it. With older versions
receiving active security updates for five or more years, and the burden associated with a full system upgrade, it makes sense that many will “set it and forget it” for as long as possible.
That said, even if you plan to commit to your underlying operating system’s
version, doesn’t mean you want to make the same sacrifice with your actual
development stack. There are still many strides being made with Node.js with
every new version, so the need to be able to install a newer version on an older
version of Ubuntu is extremely relevant.
There’s a good chance you’re here because you’re actually interested in installing Node.js 19.x on Ubuntu 20.04 LTS, and not just here to listen to be
pontificate about versioning and upgrade cycles.
Sad, but worth mentioning, if you’re interested in installing the latest Node.js
version on an even older Ubuntu release (like 18.04 LTS or prior) it’s probably
about time for you to upgrade. There are now some dependency issues with the GNU C Library that will cause you some grief.
All right, so Node.js 19 on Ubuntu 20.04 LTS (and 22.04 LTS), let’s get to it!
Keep in mind, you can always use
nvm to accomplish what I’m about to outline,
but that’s not my preferred method of installation of Node.js. The reason I prefer to install it by way of an
apt source, is because that’s one less thing I have to worry about upgrading manually. One less thing to worry about is one
less thing to potentially forget, and that’s a good thing.
First and foremost, it’s always good to make sure your system is up date to
date, rebooting it if necessary:
This guide expects
curl to already be installed as well:
This guide also makes reference of
sudo, which you may not have available if
you’re running inside of a Docker container. If that’s the case, just omit the
sudo commands and you should be just find.
With everything up to date and the necessary dependencies installed, we can
fetch the Node.js 19.x installation script with
curl and run it:
This script will do all of the necessary work to add the new
apt source and
apt update to get things primed and ready.
What it doesn’t do, is actually installed the
nodejs package for you, so
you’ll also need to run:
And once that’s finished running, we can check that we are in fact running the
latest and greatest version of Node.js:
If you ARE NOT running the latest version of Node.js at this point, double check
the output of the previous commands, as more than likely one of them spit out an error that may need to be addressed.