Introduction: Install Node.js and Npm on Raspberry Pi
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.
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:
wget https://nodejs.org/dist/v8.9.0/node-v8.9.0-linux-armv6l.tar.gz
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

Participated in the
Raspberry Pi Contest 2017
8 People Made This Project!
- wbarrows1 made it!
- Lumaxit made it!
- Ben Rouviere made it!
- TechIsSoCool made it!
See 4 More
22 Discussions
7 days ago
Thanks so much, it was helpful.
4 months ago on Step 5
Thank you, this was helpful
10 months ago
Or you can just run:
sudo apt-get install nodejs -y
11 months ago
or type tar -xzf <TAB> to autocomplete the awkward file name.
Tip 1 year ago on Step 5
It's also in the raspbian repo.
sudo apt install nodejs npm -y
It may put it in /usr/bin/ and not /usr/sbin
So if it says it can't find it, type: /usr/bin/node -v
Question 1 year ago
after follow all this step , at last when i run node -v to check , it's working or not .
it show me
-bash: /usr/local/bin/node: No such file or directory
plz solve help
1 year ago
If you just use `tar xf <name of the archive>` it will work with any format (xz or gz).
Tip 1 year 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>
1 year 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 1 year 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 version.it 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
1 year ago
Thanks,
It worked at the first try.
Question 2 years 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.
Answer 2 years ago
solved. npm was in /usr/local/bin so I made link to /usr/bin.
Reply 1 year ago
Hello
how did you make a link?
i have the same prob
Reply 1 year 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.
Question 1 year ago on Step 5
It does not worm for me node and npm :-(
Answer 1 year ago
Never mind i read the comments thx guys
Tip 2 years 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
Reply 1 year ago
Thank you <3
And if anyone is having problems with npm -v or node -v after this, see https://stackoverflow.com/questions/8935341/npm-wont-run-after-upgrade/8935401#8935401
2 years ago
what if my extension is tar.xz.1. Do i have to change to other extension?