it-swarm.com.de

sudo: npm: Befehl nicht gefunden

Ich versuche, auf die neueste Version des Knotens zu aktualisieren. Ich befolge die Anweisungen unter http://davidwalsh.name/upgrade-nodejs

Aber wenn ich es mache:

Sudo npm install -g n

Ich bekomme den Fehler:

Sudo: npm: command not found

npm funktioniert ohne Sudo. Wenn ich tue:

whereis node

Aha:

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

Laufen:

which npm

Zeigt an:

/usr/local/node/bin/npm

Ich habe die Lösung ausprobiert unter https://stackoverflow.com/a/5062718/1246159

Aber ich bekomme immer noch den gleichen Fehler. Ich habe mir auch die Datei/etc/sudoers angesehen und die entsprechende Zeile lautet:

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

Das sieht gut aus für mich. Wie kann ich NPM mit dem Sudo-Befehl arbeiten lassen?

115
Mark

Die npm-Datei sollte sich in /usr/local/bin/npm befinden. Wenn nicht, installieren Sie node.js erneut mit dem Paket auf ihrer website . Das hat in meinem Fall funktioniert.

77
inga

Ich musste es tun 

Sudo apt-get install npm

das hat für mich funktioniert.

113
Velocibadgery

Für MAC-Benutzer funktionierten die folgenden Schritte für mich.

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

Ich hatte das gleiche Problem. Hier sind die Befehle, um das Problem zu beheben:

  • 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

WARNUNG (bearbeiten)

Einen chmod 777 zu machen ist eine echte schmutzige Lösung. Probieren Sie diese nacheinander aus und stoppen Sie, wenn Sie arbeiten:

  • $ 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 ist der einzige Installationsteil, bei dem ein Problem auftreten würde 

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

Also ich 

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

und Viola, npm ist jetzt verlinkt

$ npm -v
3.10.10

Extra

Wenn Sie -R 777 für lib verwendet haben, würde ich empfehlen, verschachtelte Dateien und Verzeichnisse auf eine Standardeinstellung zu setzen:

  • $ 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

Ich musste folgendes tun: 

  1. brew update
  2. brew uninstall node
  3. Besuchen Sie https://nodejs.org/de/ Laden Sie die Datei herunter
  4. Installieren Sie die heruntergeladene Datei
13
maudulus

Für CentOS-Benutzer funktioniert das für mich:

Sudo yum install npm
10
江南消夏

Um npm-Pakete mit Sudo-Berechtigung global zu installieren, sollte /usr/bin/npm verfügbar sein. Wenn npm in einem anderen Verzeichnis vorhanden ist, erstellen Sie einen Softlink wie: 

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

Es funktioniert auf Fedora 25, node8.0.0 und npm5.0.0

6

Für Debian nach der Installation des Knotens .__

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

einfach neu installieren.

Zu RHEL, CentOS und Fedora

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

dann

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

easy! .. Sowohl Node als auch npm funktionieren jetzt wie ein Zauber!

3
Brian Sanchez

Wenn Sie den Knoten/npm mit nvm installiert haben, muss die Konfigurationsdatei der nvm-Umgebung ausgeführt werden, bevor Sie eines der Pakete verwenden können.

Dies ist im Allgemeinen in ~/.nvm/nvm.sh zu finden.

Um dies automatisch auszuführen, schließen Sie Folgendes ein:

source ~/.nvm/nvm.sh

in der .bash_profile-Datei für Ihren Benutzer

Wenn Sie dann Sudo mit diesem Benutzer verwenden möchten, müssen Sie den Parameter -i angeben, damit Sudo die Benutzerumgebung festlegt. z.B

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

Ich habe dieses Problem durch gelöst

apt-get install npm2deb

Ich hatte das gleiche Problem, der Grund dafür war, dass der npm package manager während der Installation des Knotens nicht installiert wurde. Dies wurde aufgrund des folgenden Fehlers verursacht: Im Installationsprozess gibt es einen Schritt mit dem Namen "Custom Setup" (Benutzerdefiniertes Setup). Hier haben Sie die Möglichkeit, eine der folgenden Optionen auszuwählen: standardmäßig ausgewählt). 2) npm package manager 3) Verknüpfungen zu Online-Dokumentation. 4) Zum Pfad hinzufügen. Wenn Sie fortfahren, da der npm-Paketmanager nicht installiert ist, wird der Fehler angezeigt. 

Lösung: Wählen Sie den npm-Paketmanager aus, wenn Sie diese Optionen erhalten. .__Das hat bei mir funktioniert. 

1
Saurabh Shetty

Ich bekomme dasselbe auf CentOS

which npm gibt an:

$ which npm

/usr/local/bin/npm

woher 

$ Sudo which npm

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

Ich bekomme dasselbe für Node.

Daher ist es wahrscheinlich ein Problem, bei dem root /usr/local/bin nicht auf Binärdateien überprüft. 

1
user2854314

Node vollständig entfernen:

  brew uninstall --force node

Erneut installieren:

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

Wenn Sie das Knotenpaket heruntergeladen und an einem beliebigen Ort wie /opt extrahiert haben, können Sie einfach einen symbolischen Link in /usr/local/bin erstellen. 

/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

Ich hatte auch das gleiche Problem in Homestead und versuchte es auf viele Arten 

Sudo apt-get install nodejs

Ich erhalte folgende Fehlermeldung:

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.

Schließlich habe ich versucht mit

Sudo apt-get dist-upgrade

Es hat gut funktioniert.

[email protected]:/usr/local/bin# npm -v
3.10.10

[email protected]:/usr/local/bin# node -v
v6.13.0
0
Thowfeek

Für den Fall, dass es für jeden nützlich sein könnte, der rh-*-Pakete verwendet, funktionierte dies für mich:

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

Unter Ubuntu 18.04 hat das bei mir funktioniert:

Sudo apt install nodejs
Sudo apt install npm
0
Nelu

Anweisungen zum Installieren von Node.js über den Paketmanager für:

  • Arch Linux
  • Debian- und Ubuntu-basierte Linux-Distributionen
  • Enterprise Linux und Fedora
  • FreeBSD und OpenBSD
  • Gentoo
  • NetBSD
  • openSUSE und SLE
  • OSX
  • SmartOS und Illumos
  • Linux ungültig machen
  • Windows
0
shilovk

Meine Lösung ist:

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

Funktioniert gut für mich.

Fand es hier: https://stackoverflow.com/a/29400598/861615

Dies geschieht, weil Sie das Standardverzeichnis für globale Pakete geändert haben

0
xargr

Angepasster npm-Pfad zum Sudo-Pfad unter Verwendung von visudo und Bearbeiten von "secure_path"

Jetzt funktioniert "Sudo npm"

0
mauricio777