Install Node.js and Npm on Raspberry Pi




About: Raspberry Pi fan.

You can build many apps using node.js and npm on your raspberry pi and it's very easy to interact with GPIO or other components connected to your raspberry pi. So if you are like me and like to do it on node.js here a few simple steps to install node and npm.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Detect What Version of Node.js You Need

The processor on Raspberry Pi is ARM, but depends on the model there can be ARMv6, ARMv7 or ARMv8. This 3 versions of ARM is supported by Node.js.

So first of all type this in your terminal on raspberry pi to detect the version that you need:

uname -m

If the response starts with armv6 than that's the version that you will need. For example for raspberry pi zero W you will need ARMv6

Step 2: Download Node.JS Linux Binaries for ARM

Go to node.js download page and check right click on the version of ARM that you need and choose Copy Link address.

After that in the terminal using wget download the tar.gz file for that version. Just type wget, paste the link copied before and make sure the extension is .tar.gz. If it's something else change it to this and it should be ok. For example I will need ARMv6 and I will type this in my terminal:


Step 3: Extract the Archive

Using tar that is already installed with the system on your raspberry pi just type this (make sure you change the filename with the file that you have)

tar -xzf node-v8.9.0-linux-armv6l.tar.gz

Step 4: Copy Node to /usr/local

cd node-v6.11.1-linux-armv6l/

sudo cp -R * /usr/local/

Step 5: Check If Everything Is Installed Ok

Check if node and npm are installed correctly. This lines should print the version of node and npm installed.

node -v

npm -v

Now you have node.js installed on your Raspberry Pi and working so you can build something using node

Raspberry Pi Contest 2017

Participated in the
Raspberry Pi Contest 2017

2 People Made This Project!


  • Made with Math Contest

    Made with Math Contest
  • Multi-Discipline Contest

    Multi-Discipline Contest
  • Robotics Contest

    Robotics Contest

15 Discussions


Tip 6 weeks ago on Step 3

If the archive file is in .tar.xz format (i.e. arm v7) then the command to unzip it is :
tar -xJf <name of the archive.tar.xz>


7 weeks ago

Worked on first try. Thanks. ( Although I had to first copy from the Node.js site to my local workstation, and then scp to my Rpi )


Question 8 weeks ago on Step 1

i m using raspbian pi3 b+ model nd processor is ARMv8.M doing a project of Magic Mirror.M facing a problem when installing npm. Error is shown that npm is not supported node js suggested me to install node js version 4,6,7,8,9 where in my system node js 10.15.2 has already been installed.Could u plz suggest me the command line code for installation of nodejs version 8 with arm8 processor


3 months ago

It worked at the first try.


Question 1 year ago on Step 5

I've followed this except version of node since the latest version of it is 8.11.3 and my architecture is ARMv7. After copying things to /usr/loacl, I checked node -v. It worked. But when I typed npm -v, the output was bash: /usr/bin/npm: there's no such file or directory. What should I do to fix this? Please help.

3 answers

Answer 1 year ago

solved. npm was in /usr/local/bin so I made link to /usr/bin.


Reply 3 months ago

Just do ln -s (original file) (target file). It will make a symbolic link of a file. If you are trying to make a link to a root-permission-required directory, you should do it as a root. Change your user account by su (target account) or just su for root. Or you can do with sudo if possible.


Tip 10 months ago

The later versions of node are using tarballs that have the .xz format

If you download one of these change the command to:

tar -xJf node-blah-blah.tar.xz

1 reply

1 year ago

what if my extension is tar.xz.1. Do i have to change to other extension?

1 reply

Reply 1 year ago

Yo tuve buen resultado :

Usando unxz (ya estaba instalado) --> unxz node-v8.11.3-linux-armv7l.tar.xz

Luego descomprimí el tar con --> tar -xvf node-v8.11.3-linux-armv7l.tar


Nice. Raspberry PI tutorial. You should enter this into the Raspberry PI contest that is currently running.