Ich habe nodejs auf Ubuntu von Anweisungen aus hier installiert.
Wenn ich node --version
in das Terminal schreibe, sehe ich Folgendes: -bash: /usr/sbin/node: No such file or directory
Ich kann jedoch Knoten im Verzeichnis /usr/sbin/
sehen.
Schreiben von npm --version
zeigt 1.3.5
Schreiben von nodejs --version
zeigt v0.10.15
Ich kann auch Knoten im Verzeichnis /usr/bin/
sehen.
Wie kann ich also node
funktionieren?
Wenn ich zsh anstelle von bash verwende, funktioniert der Befehl node
.
Sie müssen manuell einen Symlink /usr/bin/node
erstellen. Abkürzung für bash-kompatible Shells:
Sudo ln -s `which nodejs` /usr/bin/node
Wenn Sie nicht standardmäßige Shells verwenden, kodieren Sie einfach den Pfad, den Sie mit which nodejs
finden:
Sudo ln -s /usr/bin/nodejs /usr/bin/node
Später bearbeiten
Ich habe diese Erklärung in dem von Ihnen geposteten Link gefunden
Es gibt einen Namenskonflikt mit dem Knotenpaket (Amateur Packet Radio Node-Programm), und die Binärdatei von nodejs wurde von Knoten zu Knotenjs umbenannt. Sie müssen/usr/bin/node mit/usr/bin/nodejs verknüpfen oder Sie können das Amateur Packet Radio Node-Programm deinstallieren, um diesen Konflikt zu vermeiden.
Später später bearbeiten
Es ist eine Weile her, seit ich das beantwortete. Obwohl die von mir hier veröffentlichte Lösung mehrmals für mich funktioniert hat, haben die Benutzer in den Kommentaren ein paar weitere Lösungen gemeldet:
Von @ user229115
Sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
Von AskUbuntu (Benutzer leftium)
Sudo apt-get --purge remove node
Sudo apt-get --purge remove nodejs
Sudo apt-get install nodejs
Ich denke das ist es:
Sudo-Update-Alternativen --install/usr/bin/node node/usr/bin/nodejs 10
Debian-Alternativen verwenden.
Anscheinend unterscheidet sich die Lösung zwischen den Ubuntu-Versionen. Folgendes hat für mich auf Ubuntu 13.10 gearbeitet:
Sudo apt-get install nodejs-legacy
HTH
Edit: Faustregel:
Wenn Sie nodejs
installiert haben, aber die /usr/bin/node
-Binärdatei fehlt, installieren Sie auch nodejs-legacy
. Dies erstellt nur den fehlenden Softlink.
Laut meinen Tests hat Ubuntu 17.10 und höher nach der Installation von nodejs
bereits den Kompatibilitätssoftlink /usr/bin/node
installiert. In diesen Versionen fehlt nodejs-legacy
, da er nicht mehr benötigt wird.
Ich habe das gleiche Problem in Ubuntu 14.04.
Ich habe "nodejs" installiert und es funktioniert, aber nur wenn ich den Befehl "nodejs" verwende. Wenn ich versuche, "Knoten" zu verwenden, passiert nichts.
Ich habe dieses Problem auf folgende Weise behoben:
Installieren Sie nodejs-legacy
Sudo apt-get install nodejs-legacy
Wenn ich in der Befehlszeile "node" eingebe, erhalte ich eine Fehlermeldung "/ usr/sbin/node: Keine solche Datei oder Verzeichnis"
Zweitens, was ich getan habe, ist ein symbolischer Link zu "nodejs":
Sudo ln -s/usr/bin/nodejs/usr/sbin/node
Das ist mir auch passiert.
node -v => 0.10.2
nodejs -v => 5.5.0
Das Problem war, dass ich vor einiger Zeit einen Knoten aus dem Quellcode installiert hatte. Laufen
which node
wies immer auf diese lokale Installation hin. Ebenfalls,
echo NODE_PATH
wies auf die lokale Installation.
das Löschen des Verzeichnisses mit der Quellinstallation hat nicht geholfen. Es hat gerade den Knotenbefehl gebrochen. Am Ende gelang es, die Umgebungsvariable NODE_PATH zu löschen und nodejs zu löschen und erneut zu installieren.
unset NODE_PATH
Sudo apt-get --purge remove nodejs
Sudo apt-get install nodejs
Danach,
node -v => 5.5.0
und npm install funktionierte für Pakete in Abhängigkeit von Node => 5.0.
Ich bin neu bei all dem, aber für mich funktionierte ein einfacher Alias:
alias node='env NODE_NO_READLINE=1 rlwrap nodejs'
zumindest für die Ausführung von Dingen direkt in bash und das Ausführen von .js-Dateien.
Wenn Sie mehrere nodejs-Versionen installieren und problemlos zwischen ihnen wechseln möchten, würde ich empfehlen, Node Version Manger zu verwenden. Es löst auch das Namensproblem (node
vs. nodejs
)
Es ist ganz einfach:
Installieren Sie eine nodejs-Version:
$ nvm install 4.4
Jetzt haben Sie nodejs 4.4 zusätzlich zu der bereits installierten Version. Sie können einfach mit dem Befehl node
die neu installierte Version erreichen:
$ node -v // The new version added by nvm.
v4.4.5
$ nodejs -v // The OS version is untouched and still available.
v0.10.25
Sie können weitere nodejs-Versionen installieren und problemlos zwischen diesen wechseln:
$ nvm install 6.2
$ nvm use 6.2
Now using node v6.2.1 (npm v3.9.3)
$ node -v
v6.2.1
$ nvm use 4.4
Now using node v4.4.5 (npm v2.15.5)
Wie benutzt man die offiziellen Anweisungen von der nodejs-Site:
Für v7:
curl -sL https://deb.nodesource.com/setup_7.x | Sudo -E bash -
Sudo apt-get install -y nodejs
Für Version 6:
curl -sL https://deb.nodesource.com/setup_6.x | Sudo -E bash -
Sudo apt-get install -y nodejs
Für v4:
curl -sL https://deb.nodesource.com/setup_4.x | Sudo -E bash -
Sudo apt-get install -y nodejs
Ich habe diese von Windows bash (via Subsystem für Linux - 14.04) und Raspbian (basierend auf ARM Debian) getestet. Wenn Sie Sudo apt-get install -y nodejs
ausführen, ohne vorher das Setup-Skript auszuführen, erhalten Sie Knoten 0.10.
Wenn Sie die Installation nativer npm-Module planen, für die Build erforderlich ist, führen Sie außerdem Folgendes aus:
Sudo apt install -y build-essential
Hinweis: Dies ist der empfohlene Pfad für jede Debian-basierte Distribution in allen Architekturen.
Späte Antwort, aber für aktuelle Informationen ...
Wenn Sie node.js mit der "recommend" -Methode aus der Readme-Datei " node github installation " installieren, empfiehlt es sich, den Anweisungen im Blogartikel " nodeource" zu folgen, anstatt vom veralteten apt-get repo-Knoten zu installieren .js sollte mit dem Befehl node
sowie mit dem Befehl nodejs
ausgeführt werden, ohne dass ein neuer Symlink erstellt werden muss.
Diese Methode aus dem Artikel lautet:
# Note the new setup script name for Node.js v0.12
curl -sL https://deb.nodesource.com/setup_0.12 | Sudo bash -
# Then install with:
Sudo apt-get install -y nodejs
Beachten Sie, dass dies für v0.12 gilt, das in absehbarer Zukunft wahrscheinlich veraltet wird.
Wenn Sie sich hinter einem Unternehmens-Proxy (wie mir) befinden, sollten Sie dem Sudo-Befehl die Option -E hinzufügen, um die für den Proxy erforderlichen Env-Werte zu erhalten:
curl -sL https://deb.nodesource.com/setup_0.12 | Sudo -E bash -
Hinzufügen zu @ randunels richtiger Antwort (kann noch nicht zu SO kommentieren):
Ich musste auch/usr/local/bin/node mit/usr/bin/nodejs verbinden.
Sudo ln -s /usr/bin/nodejs /usr/local/bin/node
Anscheinend überschrieb dies den Befehl/usr/bin/node.
Keine Ahnung, wie das eingestellt wurde, aber ich hoffe, es hilft jemand anderem, da es ein Schmerz war, herauszufinden, warum das Obige für mich nicht funktionierte.
Wenn Sie sich in einer AWS EC2-Instanz befinden, auf der eine Ubuntu-Instanz ausgeführt wird (getestet auf Ubuntu 16.x), können diese Schritte für Sie funktionieren
Sudo apt-get Update Sudo apt-get --purge Knoten entfernen -y Sudo apt-get --purge remove nodejs -y Sudo apt-get --purge Entfernt den Legacy-Knoten -y Sudo rm /usr/bin/node curl -sL https://deb.nodesource.com/setup_6.x | Sudo bash - Sudo apt-get install nodejs -y Knoten -v
Wenn alles korrekt ist, muss der letzte Befehl folgende Ausgabe haben: v6.x.x
Wenn nicht, dann führe folgendes aus:
Sudan ls -s/usr/bin/nodejs /usr/bin/node
Hoffentlich hilft das. Es hat mir magisch geholfen (hehe).
Ich hatte den gleichen symbolischen Link, der mir dabei half: Sudo ln -s/usr/bin/nodejs /usr/bin/nodeNachdem .__
verlief reibungslos
Am besten installieren Sie nodejs über NVM (Node Version Manager).
Vorherige Versionen löschen:
$ Sudo rm -rf node_modules
Dann
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash
ODER
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.7/install.sh | bash
Überprüfen Sie nvm to path
$ source ~/.profile
$ nvm ls-remote
wenn Sie einen Fehler bezüglich der Auflistung erhalten, installieren Sie git.
$ Sudo apt-get install git
Wiederholen:
$ nvm ls-remoteOR
$ Sudo nvm ls-remote
$ nvm installiere Version, die Sie benötigen
Version überprüfen
# node --version
nVM verwenden Sie Version, die Sie benötigen
INFORMATION COURTESY:
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-mit-nvm-node-version-manager-on-a-vps
Wird für absolute Anfänger hilfreich sein
Obwohl Sie die Antwort erhalten haben, möchten Sie nur darauf hinweisen, dass der Befehl node
(ohne Parameter) den Knoten in REPL startet. lese-Eval-Print-Schleife Modus, um rohen Javascript-Code auszuführen.
Eine andere Möglichkeit, den Befehl node
zu verwenden, besteht darin, eine js
-Datei als Parameter anzugeben. So verwenden wir es meistens.
Ich hatte einen Symlink erstellt, der aber immer noch nicht funktionierte.
Ich habe vergessen, mein Terminal (meine PuTTY-Verbindung) neu zu starten. Nachdem ich es ohne den Symlink hatte :)
https://nodejs.org/de/download/
Download .pkg file on your mac and install it. it directly works.
➜ ~ which node
/usr/local/bin/node
➜ ~ node --version
v10.11.0
➜ ~ which npm
/usr/local/bin/npm
➜ ~ npm --version
6.4.1
Sie können diesen Befehl ausführen, um nodejs zu aktivieren:
scl enable rh-nodejs8 bash
Hinweis: Überprüfen Sie Ihre Knotenversion.
Source:https://developers.redhat.com/products/softwarecollections/hello-world/
Verwenden Sie einfach NVM (Node Version Manager) - https://github.com/creationix/nvm
Es ist zum Standard für die Verwaltung von Node.js geworden.
Wenn Sie eine neue Version benötigen:
nvm install NEW_VER
nvm use XXX
Wenn etwas schief geht, können Sie immer wieder mit
nvm use OLD_VER
Es ist optional, den vorhandenen Knoten und die vorhandenen Knoten zu entfernen. Alternativ müssen die neuesten 7.x-Knoten installiert werden.
curl -sL https://deb.nodesource.com/setup_7.x | Sudo -E bash -
Sudo apt-get install -y nodejs