bash: npm: command not found in Debian 9.3

2019-06-18 15:42发布

问题:

I am using Debian 9.3. (stretch) I cannot run "npm" commands.

Output for node -v

bash: node: command not found

Output for nodejs -v

v4.8.2

Output for npm -v

bash: npm: command not found

I'm a newbie on Debian and I can't understand what's happening.
- I already reinstall Node.js
- I already tried following the steps of the Official Page.
- I already ran apt-get install npm Output E: Unable to locate package npm.
- I was at Debian Testing and have the same error when I was there.

Thanks for read and help
- Melt

回答1:

Did you installed node js from their website? if that's not the case remove it apt-get remove nodejs and install it from this link (follow this steps) https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions


EDIT

After seing your version i realized that you are running an older version of nodejs... please remove the current nodejs version (V4.8.2) and install it via this link https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions It will give you the last version (mine is V9.2.0) with NPM installed aswell.



回答2:

I had same problem with debian then I tried this and problem solved.

Run this is command

curl -L https://npmjs.org/install.sh | sudo sh

check version

npm -v

You should see this after doing these steps



回答3:

You got an old version of the package (append to me on debian 9)

if you try : apt-cache show nodejs i think you will see the multiple version proposal.

just find the good repository name you want to use for your nodejs install :

Exemple for me it was :

cat /etc/apt/sources.list.d/nodesource.list 
deb https://deb.nodesource.com/node_10.x stretch main
deb-src https://deb.nodesource.com/node_10.x stretch main

And force the use of stretch repository during install :

sudo apt install -t stretch nodejs

since install is complete you got all the packages in the expected versions :

$ nodejs -v
v10.7.0
$ npm -v
6.1.0


回答4:

If nodejs -v shows version, it means nodejs is installed. you need to create soft link for node. Run below commands:

sudo ln -s /usr/bin/nodejs /usr/bin/node

And run

sudo apt-get install -y build-essential

Now check node -v and npm -v. It will show version.