Wie kann ich mein nodeJS auf die neueste Version aktualisieren?

626

Ich habe nodeJS unter Ubuntu mit folgendem Code installiert

sudo apt-get install nodejs

Da ich ein neuer Benutzer für Ubuntu bin, habe ich auch diesen Code ausgeführt

sudo apt-get install npm

Jetzt, wenn ich tippe

 nodejs --version

Es zeigt

v0.6.19

Ich habe die neueste nodeJS-Version überprüft und gesehen 0.10.26

Wie kann ich meine Version von nodeJS auf den neuesten Stand bringen 0.10.26?

Ich habe es mit versucht

 sudo apt-get install <packagename>
 sudo apt-get install --only-upgrade <packagename>

aber kein glück.

Kanishka Panamaldeniya
quelle
2
Es ist besser, nvm zu verwenden, um nodejs zu installieren. Es steht für "Node Version Manager". Sie können sehr einfach mehrere Versionen von nodejs installieren, zwischen ihnen wechseln und einen Standard festlegen.
Mina Michael

Antworten:

1107

Verwenden Sie das n-Modul von npm , um den Knoten zu aktualisieren

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

Um auf die neueste Version (und nicht die aktuell stabile) Version zu aktualisieren, können Sie verwenden

sudo n latest

Rückgängig machen:

sudo apt-get install --reinstall nodejs-legacy     # fix /usr/bin/node
sudo n rm 6.0.0     # replace number with version of Node that was installed
sudo npm uninstall -g n

Gefunden in David Walsh Blog http://davidwalsh.name/upgrade-nodejs

eballeste
quelle
11
Das sollte die richtige Antwort sein. nist ein Node-Helper-Paket, das eine bestimmte node.js-Version installiert oder aktualisiert.
Martin
40
Ich würde dringend davon abraten, dies auf einer Produktionsinstanz zu tun. Es kann Ihre globalen npm-Pakete und Ihre Fähigkeit, neue zu installieren, durcheinander bringen.
Loourr
12
aber noch nodejs --version
sow
14
Nicht funktioniert - nachdem node -vich den Schritten
gefolgt bin
368

Komplette Installationsanweisungen wurden seitdem von Nodesource hier hochgeladen. Es wird unten als Referenz kopiert. Die Anweisungen für das Aktualisieren auf die neueste Version sind gleich.

Node.js v12.x :

HINWEIS: Wenn Sie Ubuntu Precise oder Debian Wheezy verwenden, lesen Sie möglicherweise, wie Sie Node.js> = 6.x auf älteren Distributionen ausführen

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt-get install -y nodejs

Node.js v11.x :

HINWEIS: Wenn Sie Ubuntu Precise oder Debian Wheezy verwenden, lesen Sie möglicherweise, wie Sie Node.js> = 6.x auf älteren Distributionen ausführen

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_11.x | bash -
apt-get install -y nodejs

Node.js v10.x :

HINWEIS: Wenn Sie Ubuntu Precise oder Debian Wheezy verwenden, lesen Sie möglicherweise, wie Sie Node.js> = 6.x auf älteren Distributionen ausführen

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs

Node.js v9.x :

HINWEIS: Wenn Sie Ubuntu Precise oder Debian Wheezy verwenden, lesen Sie möglicherweise, wie Sie Node.js> = 6.x auf älteren Distributionen ausführen

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_9.x | bash -
apt-get install -y nodejs

Node.js v8.x :

HINWEIS: Wenn Sie Ubuntu Precise oder Debian Wheezy verwenden, lesen Sie möglicherweise, wie Sie Node.js> = 6.x auf älteren Distributionen ausführen

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get install -y nodejs

Node.js v7.x :

HINWEIS: Debian Wheezy- und Ubuntu Precise-Pakete sind für diese Version NICHT verfügbar. Bitte lesen Sie Node.js> = 4.x auf älteren Distributionen

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_7.x | bash -
apt-get install -y nodejs

Node.js v6.x :

HINWEIS: Wenn Sie Ubuntu Precise oder Debian Wheezy verwenden, lesen Sie möglicherweise, wie Sie Node.js> = 4.x auf älteren Distributionen ausführen .

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_6.x | bash -
apt-get install -y nodejs

Node.js v5.x :

HINWEIS: Wenn Sie Ubuntu Precise oder Debian Wheezy verwenden, lesen Sie möglicherweise, wie Sie Node.js> = 4.x auf älteren Distributionen ausführen .

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_5.x | bash -
apt-get install -y nodejs

Node.js v4.x :

HINWEIS: Wenn Sie Ubuntu Precise oder Debian Wheezy verwenden, lesen Sie möglicherweise, wie Sie Node.js> = 4.x auf älteren Distributionen ausführen .

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_4.x | bash -
apt-get install -y nodejs

Node.js v0.12 :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_0.12 | bash -
apt-get install -y nodejs

Node.js v0.10 :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_0.10 | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_0.10 | bash -
apt-get install -y nodejs

io.js v3.x :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_3.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_3.x | bash -
apt-get install -y iojs

io.js v2.x :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_2.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_2.x | bash -
apt-get install -y iojs

io.js v1.x :

Hinweis: Dieser Zweig von io.js wird nicht aktiv gepflegt und für den produktiven Einsatz nicht empfohlen.

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_1.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_1.x | bash -
apt-get install -y iojs
Dayuloli
quelle
Ich würde empfehlen, entweder die veralteten Informationen zu entfernen oder sie an den unteren Rand der Frage zu verschieben, damit die aktuellen Informationen zuerst gelesen werden.
k0pernikus
2
Dies ist die Antwort, die für mich funktioniert hat!
eri0o
1
Für alle verwirrten Idioten wie mich scheint es, dass das Ausführen der Installation effektiv alles ersetzt, was Sie zuvor hatten. Ich denke, Sie können mit diesem Prozess entweder ein Upgrade oder ein Downgrade durchführen. Ich habe ein Upgrade von v8 bis v10 und entdeckte ich diese Nachricht in den Installationsprotokollen: Unpacking nodejs (10.15.0-1nodesource1) over (8.12.0-1nodesource1) ..., läuft node -vnach der Installation glücklich zeigt v10.15.0das ist , was ich will.
icc97
2
curl {anything} | sudo bash -ist eine schreckliche Sicherheitspraxis
Krubo
1
@krubo Ich stimme zu. Der Benutzer sollte das Skript untersuchen, bevor er es ausführt. Es stammt jedoch von einer seriösen Quelle ( nodesource.com) und die Verbindung wird von HTTPS gesichert, sodass Sie diesen Skripten ein ausreichendes Maß an Vertrauen schenken können. Aber ja, im Allgemeinen überprüfen Sie die Skripte, bevor Sie sie sudo bash
weiterleiten
28

Dieses PPA ist veraltet und wird nicht mehr gepflegt. Sie sollten stattdessen andere Antworten in Betracht ziehen.

Sie können die neueste Version von PPA installieren:

sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs
Walid Saad
quelle
13
Ich denke, dies wäre eine bessere Antwort, wenn Sie (auch) eine nicht ppa-konforme Methode zur Verfügung stellen würden. Ppas sind dafür bekannt, dass sie veraltet und nicht mehr gepflegt sind, was die Antwort im Wesentlichen unbrauchbar macht.
pzkpfw
@ bigbadonk420 yeah, wenn du es nur gegoogelt hast, ist es wahrscheinlich besser, die erste Zeile zu überspringen und einfach zu aktualisieren und zu installieren - hat bei mir mit Knoten 0.10.34
Capaj 22.12.14
@Capaj Nein. das hat nicht geholfen ...
deostroll
6
Empfehlen Sie nicht mehr, dieses ppa zu verwenden, es scheint ziemlich veraltet zu sein.
Kzqai
19

Ich verwende NVM, um meine Node-Versionen zu verwalten. Sehr einfach einzurichten und einfach zu bedienen.

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

Um NVM global zu installieren, verwenden Sie statt des obigen Befehls den folgenden Befehl curl (und vermutlich nicht den zweiten, sondern den dritten Befehl).

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | NVM_DIR=/usr/local/nvm bash

Verwenden Sie dann nvm install stable(oder geben Sie stattdessen eine Versionsnummer ein stable), um die neueste / eine bestimmte Version von Node abzurufen. Verwenden Sie nvm use stable(oder eine bestimmte Versionsnummer), um diese Knotenversion zu verwenden. Verwenden nvm lsSie diese Option, um zu sehen, welche Knotenversionen Sie installiert haben, und nvm uninstall stable(oder eine bestimmte Versionsnummer), um eine bestimmte Version des Knotens zu entfernen.

Quellen: Installation , Nutzung

amnah
quelle
Während dies theoretisch die Frage beantworten mag, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
Warren Hill
Entschuldigung für meine Ungehorsamkeit. Aktualisierte Antwort
amnah
Der angegebene Curl-Pfad funktioniert nicht. Ich habe "curl raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | bash" verwendet, wie in " github.com/creationix/nvm
Senthil
Vergessen Sie nicht, den URL-Teil auf die neueste Version von NVM zu aktualisieren
Nidhin David
16

Ich empfehle außerdem, stattdessen nvm zu verwenden und die bereits installierte Version zu entfernen, um Konflikte im Terminal zu vermeiden

sudo apt purge nodejs npm

dann installiere nvm und benutze es

Video Erklärung

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

um nvm herunterzuladen und zu installieren

nvm install node

sollte die neueste Version von node herunterladen und installieren.

Um den Knoten später zu aktualisieren, gehen Sie einfach vor

nvm install node
nvm alias default node
Mina Michael
quelle
4
Dies sollte die einzig akzeptierte Antwort sein - falls Sie ein vernünftiges und aktuelles Node-Setup in Ubuntu haben möchten.
José L. Patiño
Dies funktioniert auch am besten für mich (habe ziemlich alte Nodejs auf unserem EC2 und habe viele Vorschläge ausprobiert und nur dieser hat es funktioniert). Auch 100% stimmen dem obigen Kommentar zu!
Shan Dou
nvmInstalliert Node.js auf Benutzerbasis. Mit nvmgeben Sie keinen systemweiten nodeBefehl. Ich würde also davon abraten, das Global / System zu entfernen, nodedamit Skripte, die als anderer Benutzer ausgeführt werden, weiterhin ausgeführt werden können node.
d4nyll
4

Ich habe die gleichen Listenbefehle auf meinem Ubuntu 14.04 ausprobiert, aber es gab immer noch einen Fehler.

Befehle, die ich ausgeführt habe, waren:

sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs

und der Fehler, den ich bekam:

Invalid version 0.12.2
Line 299: curl not found in /bin/n

Was ich herausgefunden habe, war, dass das Dienstprogramm curl auf meinem Betriebssystem nicht installiert ist.

Ich habe den Befehl ausgeführt:

apt-get install curl

(Verwenden Sie sudoals Präfix, wenn Sie nicht sind su)

und dann die schritte wiederholen als antwort vorschlagen und es klappt;)

Priyank Thakkar
quelle
2

Dieser installiert den neuesten Node v0.12. * Von Nodesource.

sudo apt-get install -y curl
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
sudo apt-get install -y nodejs

Für Knoten v4.x

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs
Kunal Kapadia
quelle
2
Installieren Sie Node von Grund auf neu? Die Frage war über die Aktualisierung nicht installieren
Green
2

Die Verwendung von nvm ist die bevorzugte Methode. Installiere zuerst nvm:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

Dann installiere nodejs:

nvm install node

Jetzt können Sie ganz einfach die Version des Knotens wechseln.

Damjan Pavlica
quelle
2

NVM (Node Version Manager) mit --lts

NVM wurde erwähnt unter: https://askubuntu.com/a/441527/52975, aber hier ist ein vollständigeres Anwendungsbeispiel, einschließlich der vernünftigen --ltsVersion.

NVM installiert für Sie sowohl den neuesten stabilen Knoten als auch npm

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
source ~/.nvm/nvm.sh
nvm install --lts
nvm use --lts
npm --version

Testen Sie es jetzt mit einem Dummy-Paket:

npm install --global vaca
vaca

Da das Sourcing für jede neue Shell durchgeführt werden muss, fügt das Installationsskript dem Ende Ihres Sourcing etwas Auto hinzu .barshrc. Das funktioniert, aber ich ziehe es vor, die automatisch hinzugefügte zu entfernen und meine eigene hinzuzufügen:

f="$HOME/.nvm/nvm.sh"
if [ -r "$f" ]; then
  . "$f" &>'/dev/null'
  nvm use --lts &>'/dev/null'
fi

Vorteile:

  • Ermöglicht die Verwendung mehrerer Versionen von Node ohne sudo

  • ist analog zu Ruby RVM und Python Virtualenv, die allgemein als Best Practice in Ruby- und Python-Communities gelten

  • Lädt eine vorkompilierte Binärdatei herunter, wenn nicht, lädt sie die Quelle herunter und kompiliert eine für Sie

Wir können Knotenversionen leicht wechseln mit:

nvm install 0.9.0
nvm install 0.9.9
nvm use 0.9.0
node --version
#v0.9.0
nvm use 0.9.9
node --version
#v0.9.9

Sie können dann eine Git-Verfolgungsdatei .nvmrcverwenden, um die für ein bestimmtes Projekt erforderliche Knotenversion anzugeben: https://stackoverflow.com/questions/24869959/how-do-i-specify-a-local-version-of-node-for -a-project / 54503474 # 54503474

Getestet in Ubuntu 17.10.

Ciro Santilli ist ein Schauspieler
quelle
1

Ich schlage vor, dass Sie zuerst alle nodejs-Installationen entfernen und dann das folgende Skript ausführen, sobald Sie die gewünschte nodejs-Version und das übergeordnete Installationsverzeichnis bearbeiten

Alle verfügbaren NodeJS-Versionen anzeigen

https://nodejs.org/dist/

Mit dem folgenden Skript können Sie jede dieser nodejs-Versionen unter Linux oder OSX installieren

#!/bin/bash

#     usage :
#
#     edit two vars in below :  NODE_VER  and  CODE_PARENT_DIR
#
# ... execute this script as yourself unless you choose a root owned value for var CODE_PARENT_DIR
#     whichever id you execute this as determines the id you will issue npm commands as :  npm install -g foo-bar
#
#     NOTE - nodejs comes bundled with npm ... so no need to do separate npm install
#            this scripts runs fine on linux or OSX

# ...  copy all the lines starting here  .. top of copy  ....   and ending ... end of copy  ...
#      and paste into your ~/.bashrc file so proper env vars get set 

# ............... top of copy  ........................  install_node.sh

# export NODE_VER=v7.2.0  # see available versions at https://nodejs.org/dist/
# export NODE_VER=v8.5.0  # edit this line next time you need to update nodejs  
export NODE_VER=v9.3.0  # edit this line next time you need to update nodejs

# ...  pick parent dir of nodejs install  ... comment out or remove ONE of below
# export CODE_PARENT_DIR=/opt/code  # root owned dir ... requires you to sudo prior to npm install going forward
export CODE_PARENT_DIR=${HOME}    # RECOMMENDED execute as yourself including npm install

# ......... following env vars are OK no edits needed ... only ever need to edit above vars

curr_OS=$( uname )

echo curr_OS $curr_OS

if [[ "${curr_OS}" == "Darwin" ]]; then

    OS_ARCH=darwin-x64

elif [[ "${curr_OS}" == "Linux" ]]; then

    OS_ARCH=linux-x64
else
    echo "ERROR - failed to recognize OS $curr_OS"
    exit 5
fi

if [[ -z ${CODE_PARENT_DIR} ]]; then

    echo "ERROR - failed to see env var CODE_PARENT_DIR"
    exit 5
fi

export NODE_CODEDIR=${CODE_PARENT_DIR}/nodejs
export COMSUFFIX=tar.gz
export NODE_NAME=node-${NODE_VER}
export NODE_PARENT=${NODE_CODEDIR}/${NODE_NAME}-${OS_ARCH} 

export PATH=${NODE_PARENT}/bin:${PATH}
export NODE_PATH=${NODE_PARENT}/lib/node_modules

# ............... end of copy  ........................  install_node.sh

# copy and paste above from ... top of copy ... to here into your file ~/.bashrc   

echo
echo "NODE_CODEDIR $NODE_CODEDIR<--"
echo

echo "mkdir -p ${NODE_CODEDIR}"
echo
      mkdir -p ${NODE_CODEDIR}
echo

echo "cd ${NODE_CODEDIR}"
      cd ${NODE_CODEDIR}
echo

# this is compiled code NOT source

[ -f ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} ] && rm ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} # if file exists remove

echo "wget -q --show-progress https://nodejs.org/download/release/${NODE_VER}/${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}"
      wget -q --show-progress https://nodejs.org/download/release/${NODE_VER}/${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}
echo

echo "tar -C ${NODE_CODEDIR} -xf ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}"
      tar -C ${NODE_CODEDIR} -xf ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}
echo

[ -f ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} ] && rm ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} # if file exists remove

# ...........  done ........... #

which node

node --version

# ....  bottom of file   install_node.sh
Scott Stensland
quelle
1

Wenn die Verwendung von nnicht funktioniert, können Sie die neueste Version von nodejs(dh Version 8) installieren, indem Sie die folgenden Befehle ausführen:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

sudo apt-get install -y nodejs

Weitere Anweisungen finden Sie hier .

Smartmouse
quelle
0

Wenn Sie sich hinter einem Proxy befinden, kann es sein, dass Sie diese Fehlermeldung erhalten, wenn Sie 'sudo n stable' ausführen:

Error: invalid version

Sie müssen die env-Variablen folgendermaßen einstellen:

export HTTP_PROXY=http://your-proxy-url:port
export HTTPS_PROXY=http://your-proxy-url:port

Führen Sie dann den Befehl aus, der diese Variablen an den Root-Benutzer weiterleitet:

sudo -E n stable
Luandrea
quelle
Credits to: github.com/tj/n/issues/430
luandrea
0

Ich versuche, über NVM zu installieren, das oben beantwortet wird, aber stoße auf einen Fehler in Ubuntu 18.04. dann gehe ich durch diesen Prozess

sudo apt purge nodejs npm

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

nvm install node

Nach dem Ausführen dieses Befehls wird u. U. dieser Fehler gefunden Command 'nvm' not found, did you mean:

In diesem Fall können Sie diesen Befehl ausführen

source ~/.nvm/nvm.sh

ODER Sie können es in die Datei /.bashrc oder ~ / .profile einfügen, um es automatisch zu laden

Danach können Sie durch den nächsten Prozess

nvm install node
nvm alias default node
sayalok
quelle