web-dev-qa-db-fra.com

sudo: npm: commande introuvable

J'essaie de mettre à niveau vers la dernière version du noeud. Je suis les instructions à http://davidwalsh.name/upgrade-nodejs

Mais quand je fais:

Sudo npm install -g n

Je reçois l'erreur:

Sudo: npm: command not found

nPM fonctionne sans Sudo. Quand je fais:

whereis node

Je vois:

node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node

Fonctionnement:

which npm

Spectacles:

/usr/local/node/bin/npm

J'ai essayé la solution à https://stackoverflow.com/a/5062718/1246159

Mais je reçois toujours la même erreur. J'ai également consulté le fichier/etc/sudoers et la ligne pertinente est la suivante:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

Cela me semble bien. Comment puis-je éventuellement faire fonctionner NPM avec la commande Sudo?

115
Mark

Le fichier npm doit être dans /usr/local/bin/npm. Si ce n'est pas le cas, réinstallez node.js avec le paquet sur leur website . Cela a fonctionné dans mon cas.

77
inga

Je devais faire 

Sudo apt-get install npm

cela a fonctionné pour moi.

113
Velocibadgery

Pour les utilisateurs de MAC, les étapes suivantes ont fonctionné pour moi.

$ brew update
$ brew uninstall node
$ brew install node
$ brew postinstall 
64
Gao

J'ai eu le même problème; voici les commandes pour y remédier:

  • Sudo ln -s /usr/local/bin/node /usr/bin/node
  • Sudo ln -s /usr/local/lib/node /usr/lib/node
  • Sudo ln -s /usr/local/bin/npm /usr/bin/npm
  • Sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
43
Vasanth Umapathy

AVERTISSEMENT (modifier)

Faire un chmod 777 est une vraie solution sale. Essayez-les d'abord, un à la fois, et arrêtez-vous quand on travaille:

  • $ Sudo chmod -R 777 /usr/local/lib/node_modules/npm
  • $ Sudo chmod -R 777 /usr/local/lib/node_modules
  • $ Sudo chmod g+w /usr/local/lib
  • $ Sudo chmod g+rwx /usr/local/lib

$ brew postinstall node est la seule partie de l'installation où j'aurais un problème 

Permission denied - /usr/local/lib/node_modules/npm/.github

Donc je 

// !! READ EDIT ABOVE BEFORE RUNNING THIS CODE !!
$ Sudo chmod -R 777 /usr/local/lib
$ brew postinstall node

et alto, npm est maintenant lié

$ npm -v
3.10.10

Supplémentaire

Si vous avez utilisé -R 777 sur lib ma recommandation serait de définir les fichiers et les répertoires imbriqués sur un paramètre par défaut:

  • $ find /usr/local/lib -type f -print -exec chmod 644 {} \;
  • $ find /usr/local/lib -type d -print -exec chmod 755 {} \;
  • $ chmod /usr/local/lib 755
19
Jacksonkr

Je devais faire ce qui suit: 

  1. brew update
  2. brew uninstall node
  3. Visitez https://nodejs.org/en/ téléchargez le fichier
  4. Installer le fichier téléchargé
13
maudulus

Pour les utilisateurs de CentOS, cela fonctionne pour moi:

Sudo yum install npm
10
江南消夏

/usr/bin/npm doit être disponible pour installer les packages npm globalement avec l'autorisation Sudo. Si npm existe sur un autre répertoire, créez un lien symbolique du type: 

Sudo ln -s /usr/local/bin/npm /usr/bin/npm

Cela fonctionne sur Fedora 25, node8.0.0 et npm5.0.0

6
Prakash Ramasamy

Pour Debian après l’installation du noeud Enter

curl -k -O -L https://npmjs.org/install.sh    
ln -s /usr/bin/nodejs /usr/bin/node  
sh install.sh
4
Shaharyar Zafar

il suffit de réinstaller.

Sur RHEL, CentOS et Fedora

Sudo yum remove nodejs npm
Sudo dnf remove nodejs npm   [On Fedora 22+ versions]

puis

yum -y install nodejs npm
dnf -y install nodejs npm   [On Fedora 22+ versions]

facile! .. les deux nœuds et NPM fonctionne comme un charme maintenant!

3
Brian Sanchez

Si vous avez installé node/npm avec nvm, le fichier de configuration de l'environnement nvm doit être exécuté avant de pouvoir utiliser l'un ou l'autre de ces packages.

Cela se trouve généralement dans ~/.nvm/nvm.sh.

Pour l'exécuter automatiquement, incluez:

source ~/.nvm/nvm.sh

dans le fichier .bash_profile pour votre utilisateur

Si vous souhaitez ensuite utiliser Sudo avec cet utilisateur, veillez à inclure le paramètre -i pour que Sudo définisse l'environnement utilisateur. par exemple

Sudo -iu jenkins npm install grunt-cli
2
Garreth McDaid

J'ai résolu ce problème en

apt-get install npm2deb

J'ai eu le même problème, la raison en était que le gestionnaire de paquets npm n'était pas installé lors de l'installation du noeud. Cela est dû à l'erreur suivante: Lors de l'installation, une étape appelée "Installation personnalisée" vous permet de choisir l'une des options suivantes: sélectionné par défaut). 2) gestionnaire de paquets npm 3) Raccourcis de la documentation en ligne. 4) Ajouter au chemin. Si vous continuez tel quel, le gestionnaire de paquets npm ne sera pas installé et vous obtiendrez donc l'erreur. 

Solution: Sélectionnez le gestionnaire de paquets npm lorsque vous obtenez ces options. .__ Cela a fonctionné pour moi. 

1
Saurabh Shetty

Je reçois la même chose sur CentOS

which npm donne:

$ which npm

/usr/local/bin/npm

où 

$ Sudo which npm

which: no npm in (/sbin:/bin:/usr/sbin:/usr/bin)

Je reçois la même chose pour Node.

C'est donc probablement un problème où root ne vérifie pas /usr/local/bin pour les fichiers binaires. 

1
user2854314

Supprimer complètement le nœud:

  brew uninstall --force node

Installez à nouveau:

brew install node;
which node # => /usr/local/bin/node
export NODE_PATH='/usr/local/lib/node_modules'
1
ASHISH RANJAN

Si vous avez téléchargé et extrait le package de nœud quelque part comme /opt, vous pouvez simplement créer un lien symbolique dans /usr/local/bin

/usr/local/bin/npm -> /opt/node-v4.6.0-linux-x64/bin/npm
/usr/local/bin/node -> /opt/node-v4.6.0-linux-x64/bin/node
1
mipasov

J'ai également eu le même problème à Homestead et j'ai essayé de nombreuses façons . J'ai essayé avec 

Sudo apt-get install nodejs

Je reçois l'erreur suivante:

The following packages have unmet dependencies:
 npm : Depends: nodejs but it is not going to be installed
       Depends: node-abbrev (>= 1.0.4) but it is not going to be installed
       Depends: node-ansi (>= 0.3.0-2) but it is not going to be installed
       Depends: node-ansi-color-table but it is not going to be installed
       Depends: node-archy but it is not going to be installed
       Depends: node-block-stream but it is not going to be installed
       Depends: node-fstream (>= 0.1.22) but it is not going to be installed
       Depends: node-fstream-ignore but it is not going to be installed
       Depends: node-github-url-from-git but it is not going to be installed
       Depends: node-glob (>= 3.1.21) but it is not going to be installed
       Depends: node-graceful-fs (>= 2.0.0) but it is not going to be installed
       Depends: node-inherits but it is not going to be installed
       Depends: node-ini (>= 1.1.0) but it is not going to be installed
       Depends: node-lockfile but it is not going to be installed
       Depends: node-lru-cache (>= 2.3.0) but it is not going to be installed
       Depends: node-minimatch (>= 0.2.11) but it is not going to be installed
       Depends: node-mkdirp (>= 0.3.3) but it is not going to be installed
       Depends: node-gyp (>= 0.10.9) but it is not going to be installed
       Depends: node-nopt (>= 3.0.1) but it is not going to be installed
       Depends: node-npmlog but it is not going to be installed
       Depends: node-once but it is not going to be installed
       Depends: node-osenv but it is not going to be installed
       Depends: node-read but it is not going to be installed
       Depends: node-read-package-json (>= 1.1.0) but it is not going to be installed
       Depends: node-request (>= 2.25.0) but it is not going to be installed
       Depends: node-retry but it is not going to be installed
       Depends: node-rimraf (>= 2.2.2) but it is not going to be installed
       Depends: node-semver (>= 2.1.0) but it is not going to be installed
       Depends: node-sha but it is not going to be installed
       Depends: node-slide but it is not going to be installed
       Depends: node-tar (>= 0.1.18) but it is not going to be installed
       Depends: node-underscore but it is not going to be installed
       Depends: node-which but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Enfin j'ai essayé avec

Sudo apt-get dist-upgrade

Cela a bien fonctionné.

root@Homestead:/usr/local/bin# npm -v
3.10.10

root@Homestead:/usr/local/bin# node -v
v6.13.0
0
Thowfeek

Dans le cas où cela pourrait être utile à quiconque utilise les packages rh-*, cela a fonctionné pour moi:

Sudo ln -s /opt/rh/rh-nodejs8/root/usr/bin/npm /usr/local/bin/npm
0
Lionel T

Sur Ubuntu 18.04 cela a fonctionné pour moi:

Sudo apt install nodejs
Sudo apt install npm
0
Nelu

Instructions pour l'installation de Node.js via le gestionnaire de paquets pour:

  • Arch Linux
  • Distributions Linux basées sur Debian et Ubuntu
  • Enterprise Linux et Fedora
  • FreeBSD et OpenBSD
  • Gentoo
  • NetBSD
  • openSUSE et SLE
  • OSX
  • SmartOS et illumos
  • Nul Linux
  • Les fenêtres
0
shilovk

Ma solution est:

Sudo -E env "PATH=$PATH" n stable

Fonctionne bien pour moi.

Trouvé ici: https://stackoverflow.com/a/29400598/861615

Cela est dû au fait que vous avez modifié le répertoire des packages globaux par défaut.

0
xargr

Ajout du chemin binaire npm au chemin Sudo à l'aide de visudo et édition de "chemin_sécurisé"

Maintenant "Sudo npm" fonctionne

0
mauricio777