Ich habe nodejs auf Ubuntu gemäß den hier gegebenen Anweisungen installiert
Wenn ich node --version
im Terminal schreibe, sehe ich Folgendes:
-bash: /usr/sbin/node: No such file or directory
Ich kann jedoch den Knoten im /usr/sbin/
Verzeichnis sehen.
Das Schreiben npm --version
zeigt das 1.3.5
Schreiben nodejs --version
zeigtv0.10.15
Außerdem kann ich den Knoten im /usr/bin/
Verzeichnis sehen.
Wie komme ich zur node
Arbeit?
Wenn ich zsh anstelle von bash verwende, node
funktioniert der Befehl.
ls -l /usr/bin/node
?lrwxrwxrwx 1 root root 22 Jan 1 2013 /usr/bin/node -> /etc/alternatives/node
export | grep PATH
ausgegeben, wenn es nicht verwendet wirdzsh
? (Es sollte/usr/bin
unter anderem gedruckt werden )Antworten:
Sie müssen manuell einen Symlink erstellen
/usr/bin/node
. Verknüpfung für Bash-kompatible Shells:Oder wenn Sie nicht standardmäßige Shells verwenden, codieren Sie einfach den Pfad, den Sie finden, mit
which nodejs
:Später bearbeiten
Ich habe diese Erklärung in dem von Ihnen geposteten Link gefunden
Später später bearbeiten
Es ist schon eine Weile her, seit ich darauf geantwortet habe. Obwohl die Lösung, die ich hier gepostet habe, mehrmals für mich funktioniert hat, haben Benutzer in den Kommentaren einige weitere Lösungen gemeldet:
Von @ user229115
sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
Von AskUbuntu (Benutzer leftium)
quelle
zsh
, dannnode
funktioniert der Befehl.sudo apt-get remove node
aber es heißtPackage node is not installed, so not removed
/usr/bin/env node
es nicht funktionieren würde. @ BennyMcBenBen Lösung funktioniertenodejs-legacy
Beschreibung des Pakets. Die von @BennyMcBenBen verknüpfte Antwort wurde ebenfalls mit ähnlichen Anweisungen aktualisiert.Ich denke das ist es:
Debian-Alternativen verwenden.
quelle
update-alternative
Dokumente angesehen. Wenn es wirklich funktioniert, dann ist es eine bessere Lösung :)update-alternatives --install /usr/local/bin/fribjazt node /usr/bin/nodejs 10
.) Jedem sein eigenes, aber ich bevorzuge die Ebeneln
.source ~/.bashrc
damit dies wirksam wurdeAnscheinend unterscheidet sich die Lösung zwischen Ubuntu-Versionen. Folgendes hat für mich unter Ubuntu 13.10 funktioniert:
HTH
Bearbeiten: Faustregel:
Wenn Sie
nodejs
die/usr/bin/node
Binärdatei installiert haben, diese jedoch fehlt , installieren Sie sie ebenfallsnodejs-legacy
. Dadurch wird nur der fehlende Softlink erstellt.Nach meinen Tests ist in Ubuntu 17.10 und höher der Kompatibilitäts-Softlink
/usr/bin/node
bereits nach dernodejs
Installation vorhanden, sodassnodejs-legacy
er in diesen Versionen fehlt, da er nicht mehr benötigt wird.quelle
nodejs-legacy
braucht nicht viel Wartung. Es wird nur ein Softlink hinzugefügtsudo ln -s nodejs /usr/bin/node
, der zumindest auf LTS 14.04Ich 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
Wenn ich danach "node" in die Befehlszeile eingebe, wird die Fehlermeldung "/ usr / sbin / node: Keine solche Datei oder kein solches Verzeichnis" angezeigt.
Zweitens, was ich getan habe, ist es ein symbolischer Link auf "nodejs":
quelle
node
soll eingebaut werden/usr/bin/
und nicht/usr/sbin/
. Es sieht für mich so aus, als hätten Sie das Ubuntu-node
Paket von hamradio zuvor installiert (siehe packages.ubuntu.com/trusty/all/node/filelist ) und vergessen,hash -r
auf Shell-Ebene ausgeführt zu werden, sodass sich die Shell immer noch an den falschen Pfad erinnerte. Der zweite hat das ebenfallsln
behoben, aber es wird nicht mehr benötigt, nachdem Sie diese Shell verlassen haben.node
(/usr/sbin/node
für etwas völlig anderes),nodejs
(/usr/bin/nodejs
) undnodejs-legacy
(/usr/bin/node
, abhängig vom Paketnodejs
).node -v => 0.10.2
währendnodejs -v => 5.5.0
. Das Ausführen des Befehls zeigtewhich node
immer auf diese lokale Installation. Am Ende musste ichunset NODE_PATH
, was auf die lokale Installation zeigte, um es zu beheben. Danachnode -v => 5.5.0
undnpm install
begann für Pakete abhängig von Node => 5.0 zu arbeiten.Das ist mir auch passiert.
Das Problem war, dass ich vor einiger Zeit einen Knoten von der Quelle installiert hatte. Laufen
immer auf diese lokale Installation hingewiesen. Ebenfalls,
zeigte auf die lokale Installation.
Das Löschen des Verzeichnisses mit der Quellinstallation hat nicht geholfen. Es hat nur den Knotenbefehl gebrochen. Am Ende war es der Trick, die Umgebungsvariable NODE_PATH zu deaktivieren und zu löschen und dann nodejs neu zu installieren.
Danach,
und die npm-Installation funktionierte je nach Knoten => 5.0 für Pakete.
quelle
Node Version Manager (nvm)
Wenn Sie mehrere NodeJS-Versionen installieren und einfach zwischen ihnen wechseln möchten, würde ich die Verwendung von Node Version Manager empfehlen . Es löst auch das Namensproblem (
node
vsnodejs
)Es ist ganz einfach:
Installieren Sie eine nodejs-Version:
Jetzt haben Sie zusätzlich zu der bereits installierten Version nodejs 4.4 und können einfach den
node
Befehl verwenden, um zur neu installierten Version zu gelangen:Sie können weitere nodejs-Versionen installieren und einfach zwischen diesen wechseln:
quelle
nvm
auf Wie Node.js auf einem Ubuntu 14.04 Server installierenIch bin neu in all dem, aber für mich hat ein einfacher Alias funktioniert:
Zumindest, um Dinge direkt in Bash auszuführen und .js-Dateien auszuführen.
quelle
rlwrap
. Vielen Dank!Wie wäre es mit den offiziellen Anweisungen von der nodejs-Site :
Für v7:
Für v6:
Für v4:
Ich habe diese von Windows Bash (über Subsystem für Linux - 14.04) und Raspbian (ARM Debian basiert) getestet. Wenn Sie
sudo apt-get install -y nodejs
das Setup-Skript ausführen, ohne es zuvor ausgeführt zu haben, erhalten Sie den Knoten 0.10.Wenn Sie native npm-Module installieren möchten, für die ein Build erforderlich ist, führen Sie außerdem Folgendes aus:
Hinweis: Dies ist der empfohlene Pfad für jede Debian-basierte Distribution in allen Architekturen.
quelle
Hinzufügen zu @ randunels korrekter Antwort (kann SO noch nicht kommentieren):
Ich musste auch / usr / local / bin / node mit / usr / bin / nodejs verknüpfen.
Anscheinend hat dies den Befehl / usr / bin / node überschrieben.
Keine Ahnung, wie das eingestellt wurde, aber ich hoffe, es hilft jemand anderem, da es ein Schmerz war, herauszufinden, warum das oben Genannte für mich nicht funktioniert hat.
quelle
Späte Antwort, aber für aktuelle Informationen ...
Wenn Sie node.js mit der empfohlenen Methode aus der Readme-Datei für die Node-Github-Installation installieren, wird empfohlen , die Anweisungen im Blog-Artikel zu Nodesource zu befolgen , anstatt von dem veralteten apt-get-Repo aus zu installieren. Node.js sollte mit dem
node
Befehl ausgeführt werden. sowie dennodejs
Befehl, ohne einen neuen Symlink erstellen zu müssen.Diese Methode aus dem Artikel ist:
Beachten Sie, dass dies für Version 0.12 gilt, die in nicht allzu ferner Zukunft wahrscheinlich veraltet sein wird.
Wenn Sie sich hinter einem Unternehmens-Proxy befinden (wie ich), möchten Sie dem Befehl sudo die Option -E hinzufügen, um die für den Proxy erforderlichen env-Variablen beizubehalten:
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
quelle
Das funktioniert bei mir:
Nachdem Sie die Anweisungen in diesem Link befolgt haben.
quelle
Wenn Sie sich auf einer AWS EC2-Instanz befinden, auf der eine Ubuntu-Instanz ausgeführt wird (getestet unter Ubuntu 16.x), funktionieren diese Schritte möglicherweise für Sie:
Wenn alles korrekt ist, muss der letzte Befehl eine Ausgabe wie folgt haben: v6.xx.
Wenn nicht, führen Sie Folgendes aus:
Hoffentlich hilft das. Es hat mir magisch geholfen (hehe).
quelle
Ich hatte das gleiche Problem symbolischer Link half mir aus: sudo ln -s / usr / bin / knotenjs / usr / bin / knoten nach der sudo npm install -g phantomjs-prebuilt
verlief reibungslos
quelle
Die beste Möglichkeit zur Installation von nodejs ist NVM (Node Version Manager).
Vorherige Versionen löschen:
Löschen Sie auch alle node_modules von
$ sudo rm -rf node_modules
in dem Verzeichnis, das diesen Ordner enthält.Node & Nodejs sind technisch dasselbe. Nur die Benennung hat sich geändert.
Installieren oder aktualisieren Sie zuerst nvm
als root laufen
Dann
ODER
Überprüfen Sie nvm zum Pfad
Wenn Sie eine Fehlermeldung bezüglich der Auflistung erhalten, installieren Sie git.
Wiederholen:
ODERVersion überprüfen
INFORMATIONSMÖGLICHKEIT:
quelle
Ich hatte einen Symlink erstellt, aber er funktionierte immer noch nicht.
Ich habe vergessen, mein Terminal neu zu starten (meine Kittverbindung). Nachdem ich es ohne den Symlink geklappt hatte :)
quelle
Obwohl Sie die Antwort erhalten haben, wollten Sie nur darauf hinweisen, dass der
node
Befehl (ohne Parameter) den Knoten im REPL- Read-Eval-Print-Loop- Modus startet , um rohen Javascript-Code auszuführen.Eine andere Möglichkeit, den
node
Befehl zu verwenden, besteht darin, ihm einejs
Datei als Parameter bereitzustellen. So benutzen wir es meistens.quelle
Es ist optional, den vorhandenen Knoten und die Knotenjs zu entfernen, muss jedoch alternativ die neuesten 7.x-Knotenjs installieren.
quelle
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:
Wenn etwas schief geht, können Sie jederzeit zurückkehren
quelle
Sie können diesen Befehl ausführen, um nodejs zu aktivieren:
Hinweis: Überprüfen Sie Ihre Knotenversion.
Quelle: https://developers.redhat.com/products/softwarecollections/hello-world/
quelle
https://nodejs.org/en/download/
quelle