node & nodejs haben unterschiedliche Versionen

node & nodejs haben unterschiedliche Versionen

Ich habe die neueste Version von Node.JS erfolgreich mit diesen Befehlen aktualisiert/installiert (die offizielle curlMethode funktioniert bei mir nicht):

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node

Allerdings unterscheiden sich die Versionen meines Node und NodeJS:

$ node --version
v5.0.0
$ nodejs --version
v0.10.25

Es scheint, dass der neue Knoten in installiert ist /usr/local/bin/node, also habe ich Folgendes versucht:

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

Aber es gibt zurück:

ln: failed to create symbolic link ‘/usr/local/bin/node’: File exists

Ich benutze auch diesen Link:

$ sudo ln -s /usr/bin/nodejs /usr/bin/node
ln: failed to create symbolic link ‘/usr/bin/node’: File exists

Ich werde einige Frameworks verwenden, die von abhängen node, wie z Ionic. B. Welche Node-Version wird verwendet?

Was kann ich tun, um das Problem zu lösen?

Vielen Dank für Ihre Hilfe

Antwort1

Schritte, die das gleiche Problem für mich gelöst haben:

sudo apt-get remove nodejs
sudo ln -s /usr/bin/node /usr/bin/nodejs

Erläuterung

Sie haben zwei Versionen von nodejs auf Ihrem Computer installiert und müssen eine davon entfernen. Ihre Situation:

node v5.0.0 - you will keep this one
nodejs v0.10.25 - this you can remove

Sie können nodejsdas Paket per apt-get removeBefehl entfernen. Dadurch wird auch die Datei entfernt /usr/bin/nodejsund Sie erhalten die Fehlermeldung nicht erneut.

Jetzt können Sie einen symbolischen Link namens "/usr/bin/nodejs" erstellen, der auf die Quelle "/usr/local/bin/node" zeigt. In Ihrem Beispiel haben Sie die falsche Reihenfolge der Pfade "von" und "nach".

sudo ln -s source_file myfile

Weitere Informationen zur Linkerstellung:So funktionieren symbolische Links

Antwort2

Der Fehler:

ln: failed to create symbolic link ‘/usr/bin/node’: File exists

wird normalerweise verursacht, wenn Sie tatsächlich zwei Versionen von Nodejs haben, eine mit dem Alias ​​von nodeund die andere mit dem nodejsAlias, wie wir am Ergebnis der Befehle node --versionund sehen können nodejs --version:

$ node --version
v5.0.0
$ nodejs --version
v0.10.25

Sie können also keinen symbolischen Link für eine Datei erstellen, die bereits vorhanden ist.

Um dieses Problem zu lösen, müssen Sie die beiden Pakete vollständig entfernen:

sudo apt-get purge node
sudo apt-get purge nodejs
sudo rm -rf bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node

und installieren Sie nur das nodejsPaket mit dem folgenden Befehl neu:

sudo apt-get install nodejs

und erstellen Sie einen symbolischen Link mit:

ln -s /usr/bin/nodejs /usr/bin/node

oder installieren Sie das nodejs-legacy, was dieses Problem mit dem folgenden Befehl behebt:

sudo apt-get install nodejs-legacy 

Antwort3

Für mich nodeist der Befehl das von installierte NodeJS nvmund nodejsder Befehl ist das mit installierte NodeJSapt-get

verwandte Informationen