Ich versuche, auf die neueste Version von Node zu aktualisieren. Ich folge den 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 es 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 unter https://stackoverflow.com/a/5062718/1246159 ausprobiert
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 für mich gut aus. Wie kann ich NPM möglicherweise mit dem Befehl sudo zum Laufen bringen?
sudo /usr/bin/npm install -g n
/usr/local/node/bin
zu Ihrem hinzugefügt$PATH
,npm
sollten aber in installiert sein/usr/local/bin
. Das erste Verzeichnis befindet sich nicht insecure_path
dem erklärt wird, warumsudo
es nicht gefunden werden kann.nvm
Ubuntu hier - mit @robertklep Kommentar habe ich versuchtsudo /home/${user}/.nvm/version/node/${version}/bin/npm install
und es hat funktioniert.Antworten:
Die npm-Datei sollte sich in befinden
/usr/local/bin/npm
. Wenn es nicht vorhanden ist, installieren Sie node.js erneut mit dem Paket auf der Website . Das hat in meinem Fall funktioniert.quelle
ich musste es tun
das hat bei mir funktioniert.
quelle
npm
bereits installierten Operation hervorgeht, die jedoch nicht erreichbar ist, wenn sie über sudo aufgerufen wird. Mit dieser Lösung installieren Sie die bereits vorhandene npm neu. Dies bekämpft eher die Symptome als die Ursache zu finden. Ich verstehe, dass dies für manche Menschen kaputte Dinge korrigieren könnte, aber es ist irreführend, so zu stehen.sudo apt-get install npm
arbeitete für mich.Für MAC-Benutzer haben die folgenden Schritte für mich funktioniert.
quelle
brew uninstall node
hat bei mir nicht funktioniert, aber ich habe mit dembrew install node
und weitergemachtbrew postinstall
und das Problem behoben. Vielen Dankbrew postinstall
genau?brew postinstall
ist überflüssigIch 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
quelle
%HOME%/.nvm/versions/node/v7.4.0/bin/npm
). Bedauerlich , dass muss ich werde diese Antwort jedes Mal , wenn ich Update Referenz mit NVM darauf zurückzuführen, wie die Version in dem Pfad ändern wirdsudo ln -s $(whereis node) /usr/bin/node
Und so weiter. in Ihrem Bash-Profil.WARNUNG (bearbeiten)
A zu tun
chmod 777
ist eine ziemlich radikale Lösung. Probieren Sie diese zuerst nacheinander aus und hören Sie auf, 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 ich ein Problem bekommen würdeAlso ich
und Viola, npm ist jetzt verknüpft
Extra
Wenn Sie es gewohnt
-R 777
auf lib würde meine Empfehlung verschachtelten Dateien und Verzeichnisse auf eine Standardeinstellung festgelegt werden: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
quelle
chmod
soll dieses Verzeichnis sein?drwxr-xr-x
sind die Standardeinstellungen für lib. Verwenden Sie jedoch NICHT die rekursive Funktion,-R
wenn Sie den Ordner zurücksetzen.Ich musste folgendes tun:
brew update
brew uninstall node
quelle
Für CentOS-Benutzer funktioniert dies für mich:
quelle
yum install epel-release; yum install npm
Um npm-Pakete global mit sudo-Berechtigung zu installieren,
/usr/bin/npm
sollte verfügbar sein. Wennnpm
in einem anderen Verzeichnis vorhanden, erstellen Sie einen Softlink wie:Es funktioniert unter Fedora 25, Node8.0.0 und npm5.0.0
quelle
Unter macOS hat das bei mir funktioniert:
quelle
unix
, ich habe gerade bemerkt, dass die Frage mit einem Tag versehen ist , aber es könnte trotzdem hilfreich sein, da es das beste Google-Suchergebnis für "macos npm command not found" istFür Debian nach der Installation des Knotens eingeben
quelle
Wenn Sie node / npm mit nvm installiert haben, muss die Konfigurationsdatei der nvm-Umgebung ausgeführt werden, bevor Sie eines der beiden Pakete verwenden können.
Dies ist im Allgemeinen in ~ / .nvm / nvm.sh zu finden.
Um dies automatisch auszuführen, umfassen Sie:
in der Datei .bash_profile 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
quelle
einfach neu installieren.
Auf RHEL, CentOS und Fedora
dann
einfach! .. sowohl node als auch npm funktionieren jetzt wie ein Zauber!
quelle
Ich habe dieses Problem durch gelöst
quelle
Ich hatte das gleiche Problem, der Grund dafür war, dass der npm-Paketmanager während der Installation des Knotens nicht installiert wurde. Dies wurde durch den folgenden Fehler verursacht: Während des Installationsvorgangs gibt es einen Schritt namens "Benutzerdefiniertes Setup". Hier haben Sie die Möglichkeit, eine der folgenden Optionen auszuwählen: 1) Laufzeit von Node.js (Dies ist standardmäßig ausgewählt). 2) npm package manager 3) Verknüpfungen zur Online-Dokumentation. 4) Zum Pfad hinzufügen. Wenn Sie so weitermachen, wie es ist, wird der npm-Paketmanager nicht installiert und daher wird der Fehler angezeigt.
Lösung: Wählen Sie npm package manager aus, wenn Sie diese Optionen erhalten. Das hat bei mir funktioniert.
quelle
Wenn Sie das Knotenpaket heruntergeladen und irgendwo extrahiert haben
/opt
, können Sie einfach einen symbolischen Link erstellen/usr/local/bin
.quelle
Ich hatte auch das gleiche Problem in Homestead und habe viele Möglichkeiten ausprobiert. Ich habe es mit versucht
sudo apt-get install nodejs
Ich erhalte folgende Fehlermeldung:
Endlich habe ich es mit versucht
sudo apt-get dist-upgrade
Es hat gut funktioniert.
quelle
Meine Lösung ist:
Funktioniert gut für mich.
Gefunden hier: https://stackoverflow.com/a/29400598/861615
Dies liegt daran, dass Sie das globale Standardverzeichnis für Pakete geändert haben
quelle
Der npm-Binärpfad wurde mit visudo an den sudo-Pfad angehängt und "secure_path" bearbeitet.
Jetzt funktioniert "sudo npm"
quelle
Knoten vollständig entfernen:
Erneut installieren:
quelle
Falls dies für jeden nützlich sein könnte, der
rh-*
Pakete verwendet, hat dies für mich funktioniert:quelle
Da ich node.js mit der auf node.js verfügbaren .tar-Datei installiert habe, musste ich den Speicherort des Knotenverzeichnisses auf Folgendes setzen:
von root durch Wechsel vom normalen Benutzer zum root mit dem folgenden Befehl:
dann musste ich den Pfad zum Knoten hinzufügen, wo ich ihn wie folgt in die .bashrc-Datei extrahierte:
dann referenzierte .bashrc mit
danach
ging weg
quelle
Arbeit für mich Beheben von EACCES-Berechtigungsfehlern bei der globalen Installation von Paketen
Um die Wahrscheinlichkeit von Berechtigungsfehlern zu minimieren, können Sie npm so konfigurieren, dass ein anderes Verzeichnis verwendet wird. In diesem Beispiel erstellen und verwenden Sie ein verstecktes Verzeichnis in Ihrem Ausgangsverzeichnis.
Mach ein Backup von deinem Computer. Erstellen Sie in der Befehlszeile in Ihrem Ausgangsverzeichnis ein Verzeichnis für globale Installationen:
Konfigurieren Sie npm für die Verwendung des neuen Verzeichnispfads:
Öffnen oder erstellen Sie in Ihrem bevorzugten Texteditor eine ~ / .profile-Datei und fügen Sie diese Zeile hinzu:
Aktualisieren Sie in der Befehlszeile Ihre Systemvariablen:
Um Ihre neue Konfiguration zu testen, installieren Sie ein Paket global, ohne sudo zu verwenden:
quelle
Für mich funktionierte eine der oben genannten Methoden mit Homebrew unter macOS nicht. Also habe ich node mit Homebrew deinstalliert und das Node-Paket von https://nodejs.org/en/download/ heruntergeladen und installiert. Es funktionierte wie ein Zauber.
quelle
Installieren Sie node.js und führen Sie es einfach aus
aus Ihrem Projektverzeichnis
quelle