E: Unable to locate package npm

When I try to install npm with sudo apt-get install npm, I got following error:

E: Unable to locate package npm

Why can't apt find npm? I'm using Debian 9 and already did run

sudo apt-get install nodejs 
1

10 Answers

From the official Node.js documentation:

A Node.js package is also available in the official repo for Debian Sid (unstable), Jessie (testing) and Wheezy (wheezy-backports) as "nodejs". It only installs a nodejs binary.

So, if you only type sudo apt-get install nodejs , it does not install other goodies such as npm.

You need to type:

curl -sL | sudo -E bash - sudo apt-get install -y nodejs 

Optional: install build tools

To compile and install native add-ons from npm you may also need to install build tools:

sudo apt-get install -y build-essential 

More info: Docs NodeJs

4

Encountered this in Ubuntu for Windows, try running first

sudo apt-get update sudo apt-get upgrade 

then

sudo apt-get install npm 
1

I ran into the same issue on Debian 9.2, this is what I did to overcome it.

Installation

sudo apt install curl curl -sL | sudo bash - sudo apt-get install -y nodejs sudo apt-get install -y npm 

Check installed versions

node --version npm --version 

Originally sourced from "How to install Node.js LTS on Debian 9 stretch"

2

Your system can't find npm package because you haven't add nodejs repository to your system..

Try follow this installation step:
Add nodejs PPA repository to our system and python software properties too

sudo apt-get install curl python-software-properties // sudo apt-get install curl software-properties-common curl -sL | sudo bash - sudo apt-get update 

Then install npm

sudo apt-get install nodejs 

Check if npm and node was installed and you're ready to use node.js

node -v npm -v 

If someone was failed to install nodejs.. Try remove the npm first, maybe the old installation was broken..

sudo apt-get remove nodejs sudo apt-get remove npm 

Check if npm or node folder still exist, delete it if you found them

which node which npm 
4

For Debian Stretch (Debian version 9), nodejs does not include npm, and to install it as a separate package, you have to enable stretch-backports.

echo 'deb stretch-backports main' | sudo tee /etc/apt/sources.list.d/stretch-backports.list apt-get update -y apt-get -t stretch-backports install -y npm 

In Buster (Debian 10), npm is a regular package, so going forward, this should just work. But some of us will still be stuck partially on Stretch boxes for some time to come.

1

This will resolve your error. Run these commands in your terminal. These commands will add the older versions. You can update them later or you can change version here too before running these commands one by one.

sudo apt-get install build-essential wget tar -xzf node-v0.8.16.tar.gz cd node-v0.8.16/ ./configure make sudo make install 
2

in my jenkins/jenkins docker sudo always generates error:

bash: sudo: command not found 

I needed update repo list with:

curl -sL | apt-get update 

then,

 apt-get install nodejs 

All the command line results like this:

root@76e6f92724d1:/# curl -sL | apt-get update Ign:1 stretch InRelease Get:2 stretch/updates InRelease [94.3 kB] Get:3 stretch-updates InRelease [91.0 kB] Get:4 stretch Release [118 kB] Get:5 stretch/updates/main amd64 Packages [520 kB] Get:6 stretch-updates/main amd64 Packages [27.9 kB] Get:8 stretch Release.gpg [2410 B] Get:9 stretch/main amd64 Packages [7083 kB] Get:7 stretch InRelease [23.2 kB] Get:10 stretch/main amd64 Packages [4675 B] Fetched 7965 kB in 20s (393 kB/s) Reading package lists... Done root@76e6f92724d1:/# apt-get install nodejs Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libicu57 libuv1 The following NEW packages will be installed: libicu57 libuv1 nodejs 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. Need to get 11.2 MB of archives. After this operation, 45.2 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 stretch/main amd64 libicu57 amd64 57.1-6+deb9u3 [7705 kB] Get:2 stretch/main amd64 libuv1 amd64 1.9.1-3 [84.4 kB] Get:3 stretch/main amd64 nodejs amd64 4.8.2~dfsg-1 [3440 kB] Fetched 11.2 MB in 26s (418 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libicu57:amd64. (Reading database ... 12488 files and directories currently installed.) Preparing to unpack .../libicu57_57.1-6+deb9u3_amd64.deb ... Unpacking libicu57:amd64 (57.1-6+deb9u3) ... Selecting previously unselected package libuv1:amd64. Preparing to unpack .../libuv1_1.9.1-3_amd64.deb ... Unpacking libuv1:amd64 (1.9.1-3) ... Selecting previously unselected package nodejs. Preparing to unpack .../nodejs_4.8.2~dfsg-1_amd64.deb ... Unpacking nodejs (4.8.2~dfsg-1) ... Setting up libuv1:amd64 (1.9.1-3) ... Setting up libicu57:amd64 (57.1-6+deb9u3) ... Processing triggers for libc-bin (2.24-11+deb9u4) ... Setting up nodejs (4.8.2~dfsg-1) ... update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js (js) in auto mode 

Download the the repository key with:

curl -s | apt-key add - 

Then setup the repository:

sudo sh -c "echo deb cosmic main \ > /etc/apt/sources.list.d/nodesource.list" sudo apt-get update sudo apt-get install nodejs 
0

I had a similar issue and this is what worked for me.

Add the NodeSource package signing key:

curl -sSL | sudo apt-key add - # wget can also be used: # wget --quiet -O - | sudo apt-key add - 

Add the desired NodeSource repository:

# Replace with the branch of Node.js or io.js you want to install: node_6.x, node_12.x, etc... VERSION=node_12.x # The below command will set this correctly, but if lsb_release isn't available, you can set it manually: # - For Debian distributions: jessie, sid, etc... # - For Ubuntu distributions: xenial, bionic, etc... # - For Debian or Ubuntu derived distributions your best option is to use the codename corresponding to the upstream release your distribution is based off. This is an advanced scenario and unsupported if your distribution is not listed as supported per earlier in this README. DISTRO="$(lsb_release -s -c)" echo "deb $DISTRO main" | sudo tee /etc/apt/sources.list.d/nodesource.list echo "deb-src $DISTRO main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list 

Update package lists and install Node.js:

sudo apt-get update sudo apt-get install nodejs 

If you have installed nodejs, then you also have npm. Npm comes with node.

2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like