I’ve received questions from readers of my Beginner’s Guide to Installing Node.js on a Raspberry Pi wanting to know how to upgrade to more recent versions of Node.js on the Raspberry Pi. The steps are quite easy and can be adapted to other Debian variants as well including Ubuntu. I’m assuming you followed the steps in my Beginners’ Guide, especially under the “Install Node.js” section where we update the Raspbian/Debian package repository to include the Node.js binaries provided by NodeSource. Let’s get started!
Minor/Patch Version Upgrades
This section explains the steps necessary to upgrade Node to the latest version within a given major version. For example, upgrading from Node 9.2.1 to Node 9.4.0.
Our first step is to ascertain the current version of Node we are running. Run the following command from the terminal:
$ node -v v9.2.1
I see that I am running Node 9.2.1 and I really want to be running the latest stable build within this Node branch (Node 9.4.0 ).
First, we run the apt “update” command. This command will not actually update any software on the system, but will download the latest package lists from the software repositories so that Raspbian will be aware of all new software available along with dependencies. Issue the following command at the “$” prompt:
$ sudo apt update
Note: we are using the newer Debian apt command as opposed to the older apt-get command. Please see my Debian apt command cheat sheet for more information.
If you are not sure if you are already running the latest version of Node available, you have two options:
- Option 1 (the “diligent” option): Issue the following command to determine the latest version that is available in the package repository:
$ apt list nodejs
This command will provide output that looks something like this:
Listing... Done nodejs/unknown 9.4.0-1nodesource1~jessie1 armhf [upgradable from: 9.2.1-1nodesource1~jessie1] N: There are 2 additional versions. Please use the '-a' switch to see them.
You could optionally add the
apt list -a nodejs)to review additional versions of nodejs available; however, the basic
apt listcommand will show the most recent version of Node available. In this case, we see that Node 9.4.0 is available so we want to continue and upgrade.
- Option 2 (the “lazy” option) : As a second option if you are not sure if you are already running the latest version of Node, you can simply power through and proceed with
sudo apt install(listed next). If you are already running the latest version, the apt package manager will simply tell you that you are already running the latest version of Node. Your existing installation will not be impacted in any way.
Ok, we are now ready to upgrade our current version of Node.js to the latest version. We use the
apt install command which seems a bit counter-intuitive, but
apt install will upgrade the package to the latest version in the package repository even though it is already installed.
$ sudo apt install nodejs
Let’s determine what version of Node we are running now:
$ node -v v9.4.0
We see that we are running the latest version of Node so we know we have been successful!
Major Version Upgrades
In this scenario, we check the current version of Node we are running by invoking the following command from the terminal:
$ node -v v8.7.0
We see that we are running Node 8.7.0 and we really want to be running Node 9.x. We want to stay on the cutting edge rather than fading into obsolescence. 😎
Let’s update our package repository to use the latest version of Node which is Node 9.4.0 by using the
setup_9.x script from NodeSource.
$ curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
In addition to updating your package repository, the setup script that runs in the previous command also invokes a
sudo apt update command as one of its final steps. Once again, the
sudo apt update command does not actually update any software on the system, but will download the latest package lists from the software repositories so that Raspbian will be aware of all new software available along with dependencies.
We are now ready to upgrade our current version of Node.js to the latest version. We use the “apt install” command which will upgrade the package even though it is already installed. Please note that “apt install” will install the latest version of Node that is available in a given Node branch. For example, if you are using the setup_9.x script, the most recent version of Node 9.x will be installed.
$ sudo apt install nodejs
When we now request the current version of Node running, we see a more recent version of Node running so we can declare victory! The old Node version is replaced and no longer running on the machine.
$ node -v v9.4.0
That’s it for now; thanks for reading! Follow @thisDaveJ (Dave Johnson) on Twitter to stay up to date on the latest tutorials and tech articles.
Beginner’s Guide to Installing Node.js on a Raspberry Pi
While I napped, we got a new apt – Debian apt command cheat sheet
Learning through Making – Getting Started with Node.js
Create a Web Server in Node without any Code
Make Your Raspberry Pi Web Server Available on the Internet with Node.js