
Jatin
Ich habe nodejs auf Ubuntu gemäß den angegebenen Anweisungen installiert Hier
Wenn ich schreibe node --version
im terminal sehe ich das:
-bash: /usr/sbin/node: No such file or directory
Ich kann Knoten in sehen /usr/sbin/
Verzeichnis aber.
Schreiben npm --version
zeigt an 1.3.5
Schreiben nodejs --version
zeigt an v0.10.15
Außerdem kann ich den Knoten in der sehen /usr/bin/
Verzeichnis.
Also, wie bekomme ich node
Arbeiten?
Auch, wenn ich benutze zsch statt bash, dann node
Befehl funktioniert.

Randunel
Sie müssen manuell einen Symlink erstellen /usr/bin/node
. Shortcut für Bash-kompatible Shells:
sudo ln -s `which nodejs` /usr/bin/node
Oder wenn Sie nicht standardmäßige Shells verwenden, codieren Sie einfach den gefundenen Pfad fest which nodejs
:
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 node-Paket (Amateur Packet Radio Node Program) und die nodejs-Binärdatei wurde von node in nodejs umbenannt. Sie müssen /usr/bin/node mit /usr/bin/nodejs symbolisch verlinken oder das Amateur Packet Radio Node Program deinstallieren, um diesen Konflikt zu vermeiden.
Später später bearbeiten
Es ist schon eine Weile her, dass ich darauf geantwortet habe. Obwohl die Lösung, die ich hier gepostet habe, mehrere Male für mich funktioniert hat, haben Benutzer einige weitere Lösungen in den Kommentaren 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-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
Verwendung von Debian-Alternativen.

Tino
Anscheinend unterscheidet sich die Lösung zwischen den Ubuntu-Versionen. Folgendes hat bei mir unter Ubuntu 13.10 funktioniert:
sudo apt-get install nodejs-legacy
HTH
Bearbeiten: Faustregel:
Wenn Sie installiert haben nodejs
aber die fehlen /usr/bin/node
Binary, dann auch installieren nodejs-legacy
. Dadurch wird nur der fehlende Softlink erstellt.
Laut meinen Tests haben Ubuntu 17.10 und höher bereits den Kompatibilitäts-Softlink /usr/bin/node
an Ort und Stelle nach nodejs
installiert ist, also nodejs-legacy
fehlt in diesen Releases, da es nicht mehr benötigt wird.

Dmytro Medvid
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 danach “node” in die Befehlszeile eingebe, erhalte ich eine Fehlermeldung “/usr/sbin/node: No such file or directory”
-
Zweitens, was ich getan habe, ist ein symbolischer Link auf “nodejs”:
sudo ln -s /usr/bin/nodejs /usr/sbin/node

Rotareti
Knotenversionsmanager (nvm)
Wenn Sie mehrere nodejs-Versionen installieren und einfach zwischen ihnen wechseln möchten, würde ich vorschlagen, dies zu verwenden Knotenversionsmanager. 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 zusätzlich zu der bereits installierten Version noch nodejs 4.4 und können die node
Befehl, um die neu installierte Version zu 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 einfach zwischen ihnen 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)

CHsurfer
Das ist mir auch passiert.
node -v => 0.10.2
nodejs -v => 5.5.0
Das Problem war, dass ich vor einiger Zeit den Knoten aus der Quelle installiert hatte. Laufen
which node
immer auf diese lokale Installation verwiesen. Ebenfalls,
echo NODE_PATH
wies auf die lokale Installation hin.
Das Löschen des Verzeichnisses mit der Quellinstallation hat nicht geholfen. Es hat gerade den Knotenbefehl gebrochen. Am Ende hat es gereicht, die Umgebungsvariable NODE_PATH zurückzusetzen und zu bereinigen und dann nodejs neu 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 begann für Pakete zu arbeiten, die von Node => 5.0 abhängen.

Phil
Ich bin neu in all dem, aber für mich hat ein einfacher Alias funktioniert:
alias node="env NODE_NO_READLINE=1 rlwrap nodejs"
zumindest um Dinge direkt in Bash auszuführen und .js-Dateien auszuführen.
10013300cookie-checkNodejs vs. Node auf Ubuntu 12.04yes
Wenn “Sie einen Knoten in /usr/bin/ sehen”, was ist dann die Ausgabe von
ls -l /usr/bin/node
?– Randunel
8. August 2013 um 15:51 Uhr
@randunel Ich habe diese Ausgabe bekommen
lrwxrwxrwx 1 root root 22 Jan 1 2013 /usr/bin/node -> /etc/alternatives/node
– Jatin
8. August 2013 um 16:00 Uhr
Hast du irgendwelche Änderungen an Shell rc vorgenommen?
– Randunel
8. August 2013 um 16:13 Uhr
Dies sieht aus wie ein Shell-Problem nach Ihrer Bearbeitung, was tut
export | grep PATH
Ausgabe bei Nichtbenutzungzsh
? (es sollte drucken/usr/bin
unter anderem)– Randunel
8. August 2013 um 16:17 Uhr
Lösung + Erklärung hier: stackoverflow.com/questions/21168141/…
– throbi
15. April 2016 um 10:08 Uhr