Was sind die Unterschiede zwischen node.js und node?

103

Ich habe node.js auf meinem Computer installiert (Linux Mint 15). Beim Ausführen node example.jsheißt es:

The program 'node' can be found in the following packages:
 * node
 * nodejs-legacy
Try: sudo apt-get install <selected package>

Was sind also die Unterschiede zwischen Node und Nodejs? Ich hatte sowohl node.js als auch node zuvor installiert, aber wenn ich ausgeführt werde node example.js, startet der Webserver überhaupt nicht. Also habe ich node gelöscht und node.js behalten.

Blake
quelle

Antworten:

151

Der Paketknoten ist nicht mit node.js verbunden.

nodejsist das, was Sie wollen, aber es ist wohl besser, den Befehl als Knoten zu bezeichnen, um die Kompatibilität mit den verwendeten Skripten zu gewährleisten #!/usr/bin/env node.

Sie können entweder einfach einen Symlink in Ihrem Pfad erstellen:

sudo ln -s `which nodejs` /usr/local/bin/node

Oder Sie können nvm installieren und dann die neueste Version von node.js installieren:

nvm install stable

Ich bevorzuge die NVM-Methode, da sie es Ihnen ermöglicht sudo apt-get remove nodejs, und dann zu verwalten, welche Version des Knotens Sie selbst verwenden. Sie können auch mehrere Versionen von node.js installieren und verwenden, nvm use <version>um einfach zwischen ihnen zu wechseln.

Ich mag auch eine Linie nach unten hinzuzufügen meine .bashrcmag: nvm use stable > /dev/null. Dadurch wird automatisch die neueste Version verwendet, die Sie installiert haben.

So aktualisieren Sie Ihre Knotenversion auf den neuesten Stable : nvm install stable. Jedes Mal, wenn Sie dies tun, müssen Sie alle npm-Pakete installieren, die Sie global installiert haben, wenn Sie sie weiterhin verwenden möchten.

Um zu einer alten Version zu wechseln, führen Sie einfach aus nvm use <version>, oder, falls Sie die alte Version noch nicht installiert haben : nvm install <version>.

Paul
quelle
28
Tatsächlichnodejs-legacy enthält das Paket nur den Symlink (siehe auch lists.debian.org/debian-devel-announce/2012/07/msg00002.html ).
Irgendwann am
1
Sehr hilfreich und praktisch ist das NVM- Paket.
Akshay Pratap Singh
In der JS-Welt rufen die Leute immer wieder Knoten an. In diesem Fall bezieht es sich auf node.js?
Vikramvi
1
@vikramvi Ja, wenn Sie hier über Knoten sprechen, beziehen sie sich wahrscheinlich auf node.js; entweder das oder DOM-Knoten in einem Browser
Paul
25

Diese Antwort soll Ihnen nur den Unterschied zwischen nodeund nodejsPaketen unter Debian OS erklären.

node

nodejs

  • Node.js ist eine Plattform, die auf der JavaScript-Laufzeit von Chrome basiert und zum einfachen Erstellen schneller, skalierbarer Netzwerkanwendungen geeignet ist. Node.js verwendet ein ereignisgesteuertes, nicht blockierendes I/OModell, das es leicht und effizient macht und sich perfekt für datenintensive Echtzeitanwendungen eignet, die auf verteilten Geräten ausgeführt werden.
  • Paketdetails Link:
Raghav Dinesh
quelle
9
Die Antwort, die den tatsächlichen Unterschied zwischen nodeund erklärt nodejs.
Bono
1
Wie werde ich den Unterschied zwischen den beiden in der Sprache des Laien verstehen?
Steady_daddy
1
@steady_daddy Die beiden Pakete sind nicht miteinander verbunden, daher lautet die einfache Antwort, dass die beiden nicht miteinander verbunden sind. nodejs ist ein modernes Javascript-orientiertes Server-Framework, das normalerweise zur Bereitstellung verschiedener Dienste und Echtzeitanwendungen verwendet wird, während node ein älteres Framework für die Übertragung von Datenpaketen über Amateurfunk ist. Die meisten Installationen verknüpfen den Shell-Befehl "node" mit den binären "nodejs". Dies ist normalerweise sicher, da kaum jemand, der nodejs verwendet, auf Konflikte mit "node" stößt.
EddieOffermann