Install Node.js and npm on Ubuntu: A Step-by-Step Guide
Node.js and npm install on Ubuntu to help you run JavaScript code for web applications. Node.js is a program that lets you use JavaScript outside of your web browser. npm is a tool that comes with Node.js and helps you find and use pre-written code for your projects.
You can install Node.js and npm on Ubuntu using either the official NodeSource repositories or Ubuntu’s own software sources. This guide focuses on installing a recent stable version, typically v20.x or higher.
Install Node.js and npm from Ubuntu’s default repositories by running sudo apt update followed by sudo apt install nodejs npm. Alternatively, use Snap with sudo snap install node –classic or add the NodeSource repository and then run sudo apt install nodejs. Check the installation with node –version and npm –version.
How to install Node.js from Ubuntu repositories
Node.js and npm can be installed on Ubuntu directly from official software sources using simple commands. This approach provides a stable version of Node.js for most projects and is a clear way to start using Node.js on your Ubuntu system.
sudo apt update sudo apt install nodejs npm
Running that command installs several Node.js and npm packages. These include tools needed to compile and install native add-ons from npm.
Once the installation is complete, run the commands below to check the installed version.
nodejs --version
That should output a similar line as shown below:
v10.19.0
How to Install Node.js and npm from Snap
Installing Node.js and npm using Snap packages offers a method that bundles all necessary components. Snaps are self-contained software packages. They update automatically and can revert to a prior version if a new update causes problems, making them a reliable choice for your development environment.
Snaps are software packages that bundle all their necessary components. This design allows a single Snap to run on many Linux systems without modification. Snaps update themselves automatically and can revert to a working version if a new update causes issues.
To install via Snap, run the commands below to install Snap.
sudo apt update sudo apt install snapd
Once Snap is installed, run the commands below to get Node.js and npm installed via Snap. Choose the correct Node.js versions you want to install in Ubuntu.
For the Latest release (version 14),
sudo snap install node --channel=14/stable --classicFor version 13, run this:
sudo snap install node --channel=13/stable --classicFor the LTS (version 10)
sudo snap install node --channel=10/stable --classicHow to Install Node.js and npm from NodeSource
NodeSource offers a reliable method to install the latest Node.js versions on your Ubuntu system. This approach is perfect if you need the newest features and updates, ensuring your development tools are always current and giving you access to specific versions for your projects.
You can use the NodeSource repository to install a specific version of Node.js. Currently, the repository lists Node.js versions 14, 12, 11, 10, and 8. Note that version 14 is listed twice; typically, this refers to different release lines within the same major version.
To install Node.js from NodeSource, run the commands below to add the repository for your desired version.
Then for the Latest release (version 14), add this PPA.
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -For (version 12), run the commands below:
curl -sL https://deb.nodesource.com/setup_12.x | bash -To install the LTS release (version 10), use this PPA
curl -sL https://deb.nodesource.com/setup_10.x | bash -After adding the repository, you can now install the Node.js version you selected. If you add multiple repositories, your system will install the newest version of Node.js, not necessarily the Long Term Support (LTS) version.
Install Node.js and npm
After adding the NodeSource repositories, you can install Node.js and npm using the `sudo apt install nodejs` command. This single command installs both programs. You can then check the installed versions to confirm Node.js version 18.17.0 and npm version 9.6.7 are ready for use.
sudo apt install nodejs
After installing, both Node.js and npm modules should be ready to use.
You can use the commands below to view the installed version number.
node --version npm --version
The commands will list the currently installed version:
v14.0.0 6.14.4
To test whether the web server is properly installed, run the commands below to create a test file called http_server.js in your home folder.
cd ~/ nano http_server.js
Then copy and paste the content below into the file and save it.
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello Worldn');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
After that, save the file and run the commands below to start the server.
node http_server.js
You should see an output that reads:
The server running at http://127.0.0.1:3000/
Now open your browser and browse to the server hostname or IP address followed by port 3000. You should see a default page with Hello World.
http://localhost:3000

That should do it!
Conclusion:
This installation guide provided steps to install Node.js and npm on Ubuntu Linux. If you encounter any errors or have additional information to share, feel free to use the comment form below.
Was this guide helpful?
About the Author
Richard
Tech Writer, IT Professional
Richard, a writer for Geek Rewind, is a tech enthusiast who loves breaking down complex IT topics into simple, easy-to-understand ideas. With years of hands-on experience in system administration and enterprise IT operations, he’s developed a knack for offering practical tips and solutions. Richard aims to make technology more accessible and actionable. He's deeply committed to the Geek Rewind community, always ready to answer questions and engage in discussions.
No comments yet — be the first to share your thoughts!