Comment mettre à jour mon nodeJS vers la dernière version?


628

J'ai installé nodeJS sur Ubuntu avec le code suivant

sudo apt-get install nodejs

Depuis que je suis un nouvel utilisateur pour Ubuntu, j'ai aussi lancé ce code aussi

sudo apt-get install npm

Maintenant, quand je tape

 nodejs --version

Ça montre

v0.6.19

J'ai vérifié et vu la dernière version de nodeJS est 0.10.26

Comment puis-je mettre à jour ma version de nodeJS 0.10.26?

J'ai essayé avec

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

mais pas de chance.


2
Il est préférable d’utiliser nvm pour installer nodejs. Il signifie "Node Version Manager". Vous pouvez très facilement installer plusieurs versions de nodejs, basculer entre elles et définir une valeur par défaut.
Mina Michael

Réponses:


1108

Utilisez n module de npm afin de mettre à jour le noeud

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

Pour mettre à niveau vers la dernière version (et non la version stable actuelle), vous pouvez utiliser

sudo n latest

Défaire:

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

Trouvé dans le blog de David Walsh http://davidwalsh.name/upgrade-nodejs


11
cela devrait être la bonne réponse. nest un package d'assistance de noeud qui installe ou met à jour une version donnée de node.js.
Martin

40
Je déconseille fortement de faire cela sur une instance de production. Cela peut sérieusement gâcher vos paquets npm globaux et votre capacité à en installer de nouveaux.
Loourr

12
mais toujours nodejs --version sow 0.10.25
Mansuu ....


14
Ne fonctionne pas - après avoir suivi les étapes, node -vm'a toujours donné la version 6, pas 10.
Tomáš Zato

370

Les instructions d'installation complètes ont depuis été téléchargées ici par Nodesource. Il est copié ci-dessous pour votre référence. Les instructions sont les mêmes pour la mise à jour vers la dernière version.

Node.js v12.x :

REMARQUE: Si vous utilisez Ubuntu Precise ou Debian Wheezy, vous voudrez peut-être vous renseigner sur l' exécution de Node.js> = 6.x sur des distributions plus anciennes.

# 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 :

REMARQUE: Si vous utilisez Ubuntu Precise ou Debian Wheezy, vous voudrez peut-être vous renseigner sur l' exécution de Node.js> = 6.x sur des distributions plus anciennes.

# 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 :

REMARQUE: Si vous utilisez Ubuntu Precise ou Debian Wheezy, vous voudrez peut-être vous renseigner sur l' exécution de Node.js> = 6.x sur des distributions plus anciennes.

# 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 :

REMARQUE: Si vous utilisez Ubuntu Precise ou Debian Wheezy, vous voudrez peut-être vous renseigner sur l' exécution de Node.js> = 6.x sur des distributions plus anciennes.

# 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 :

REMARQUE: Si vous utilisez Ubuntu Precise ou Debian Wheezy, vous voudrez peut-être vous renseigner sur l' exécution de Node.js> = 6.x sur des distributions plus anciennes.

# 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 :

NOTE: Les paquets Debian Wheezy et Ubuntu Precise ne sont PAS disponibles pour cette version. Veuillez référencer running Node.js> = 4.x sur les anciennes distributions

# 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 :

REMARQUE: Si vous utilisez Ubuntu Precise ou Debian Wheezy, vous voudrez peut-être vous renseigner sur l’ exécution de Node.js> = 4.x sur des distributions plus anciennes .

# 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 :

REMARQUE: Si vous utilisez Ubuntu Precise ou Debian Wheezy, vous voudrez peut-être vous renseigner sur l’ exécution de Node.js> = 4.x sur des distributions plus anciennes .

# 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 :

REMARQUE: Si vous utilisez Ubuntu Precise ou Debian Wheezy, vous voudrez peut-être vous renseigner sur l’ exécution de Node.js> = 4.x sur des distributions plus anciennes .

# 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 :

Remarque: cette branche de io.js n'est pas maintenue activement et n'est pas recommandée pour une utilisation en production.

# 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

Je vous conseillerais soit de supprimer les informations obsolètes, soit de les déplacer au bas de la question, afin que les informations actuelles soient lues en premier.
k0pernikus

2
C'est la réponse qui a fonctionné pour moi!
eri0o

1
Pour tous les idiots confus comme moi, il semble que l'exécution de l'installation remplacera efficacement tout ce que vous aviez auparavant. Je pense donc que vous pouvez effectuer une mise à niveau ou une rétrogradation avec ce processus. J'ai mis à niveau de v8 à v10 et j'ai repéré ce message dans les journaux d'installation:, Unpacking nodejs (10.15.0-1nodesource1) over (8.12.0-1nodesource1) ...s'exécutant node -vaprès l'installation affiche avec bonheur v10.15.0ce que je veux.
icc97 le

2
curl {anything} | sudo bash -est une pratique de sécurité terrible
Krubo

1
@ Krubo je suis d'accord. L'utilisateur doit examiner le script avant de l'exécuter. Cependant, il provient d'une source réputée ( nodesource.com) et la connexion est sécurisée par HTTPS. Vous pouvez donc accorder une confiance suffisante à ces scripts. Mais oui, en général, vérifiez les scripts avant de le sudo bash
rediffuser

28

Ce contrat d'achat d'électricité est obsolète et n'est plus maintenu; vous devriez envisager d'autres réponses au lieu de celle-ci.

Vous pouvez installer la dernière version à partir de PPA:

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

13
Je pense que ce serait une meilleure réponse si vous fournissiez (également) une méthode non-ppa de faire cela. Les ppa sont notoirement connues pour être devenues obsolètes et non entretenues, ce qui rend la réponse inutile.
pzkpfw

@ bigbadonk420 ouais, si vous venez de chercher sur Google, probablement mieux de sauter la première ligne et de simplement mettre à jour et installer pour moi avec le noeud 0.10.34
Capaj

@Capaj Nope. ça n'a pas aidé ...
deostroll

6
Ne recommandez plus d'utiliser ce ppa, il semble plutôt obsolète.
Kzqai

19

J'utilise NVM pour gérer les versions de mon nœud. Très simple à mettre en place et facile à utiliser.

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

Pour installer NVM globalement à la place, utilisez la commande curl suivante à la place de celle ci-dessus (et n'utilisez probablement pas la deuxième commande, mais utilisez la troisième)

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

Ensuite, utilisez nvm install stable(ou insérez un numéro de version à la place de stable) pour obtenir la dernière version / une version spécifique de Node. Utilisez nvm use stable(ou un numéro de version spécifique) pour utiliser cette version du nœud. Utilisez nvm lspour voir quelles versions de nœud vous avez installées et nvm uninstall stable(ou un numéro de version spécifique) pour supprimer une version spécifique de Node.

Sources: Installation , utilisation


Bien que cela puisse théoriquement répondre à la question, il serait préférable d’inclure ici les parties essentielles de la réponse et de fournir le lien à titre de référence.
Warren Hill

Toutes mes excuses pour ma noobness. Réponse mise à jour
Amnah

le chemin curl donné ne fonctionne pas. J'ai utilisé "curl raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | bash" comme indiqué dans github.com/creationix/nvm
Senthil

N'oubliez pas de mettre à jour la partie url vers la dernière version de nvm
Nidhin David

16

Je recommande également d'utiliser nvm à la place et de supprimer la version déjà installée pour éviter les conflits dans le terminal

sudo apt purge nodejs npm

puis installez nvm et utilisez-le

Explication vidéo

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

télécharger et installer nvm

nvm install node

devrait télécharger et installer la dernière version du noeud.

Pour mettre à jour le noeud plus tard, il suffit de faire

nvm install node
nvm alias default node

4
Cela devrait être la seule réponse acceptée - au cas où vous voudriez avoir une configuration de nœud saine et à jour dans Ubuntu.
José L. Patiño

Cela fonctionne aussi le mieux pour moi (avoir des noeuds assez anciens sur notre EC2 et essayé beaucoup de suggestions et seulement celle-ci a fonctionné). Aussi, 100% d'accord avec le commentaire ci-dessus!
Shan Dou

nvminstalle Node.js pour chaque utilisateur. L'utilisation nvmne vous donnera pas une nodecommande à l' échelle du système . Je vous déconseille donc de supprimer Global / System nodeafin que les scripts exécutés sous un autre utilisateur puissent toujours être exécutés node.
d4nyll

4

J'ai essayé les mêmes commandes de liste sur mon Ubuntu 14.04 mais il y avait toujours une erreur.

Les commandes que j'ai exécutées étaient:

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

et l'erreur que je devenais:

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

Ce que j'ai découvert est que Curl Utility n'a pas été installé sur mon système d'exploitation.

J'ai exécuté la commande:

apt-get install curl

(utilisez sudocomme préfixe si vous ne l'êtes pas su)

et puis répété les étapes suggèrent en réponse et cela fonctionne;)


2

Celui-ci installe le dernier noeud v0.12. * À partir de nodesource.

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

Pour le noeud v4.x

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

2
Êtes-vous installer le noeud à partir de zéro? La question portait sur la non-installation de la mise à jour
Vert

2

Utiliser nvm est la méthode préférée. Installez d'abord nvm:

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

Ensuite, installez nodejs:

nvm install node

Maintenant, vous pouvez facilement changer de version de noeud.


2

NVM (Node Version Manager) avec --lts

NVM a été mentionné à l' adresse : https://askubuntu.com/a/441527/52975, mais voici un exemple d'utilisation plus complet, incluant la --ltsversion rationnelle .

NVM installe le dernier noeud stable et npm pour vous

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

Maintenant, testez-le avec un paquet factice:

npm install --global vaca
vaca

Etant donné que l’approvisionnement doit être effectué pour chaque nouveau shell, le script d’installation ajoute un peu d’auto sourcing à la fin de votre .barshrc. Cela fonctionne, mais je préfère supprimer celui ajouté automatiquement et ajouter le mien:

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

Avantages:

  • vous permet d'utiliser plusieurs versions de Node et sans sudo

  • est analogue à Ruby RVM et Python Virtualenv, pratique largement considérée par les communautés Ruby et Python

  • télécharge un binaire précompilé, si possible, et sinon, il télécharge la source et en compile une pour vous

Nous pouvons facilement changer de version de noeud avec:

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

Vous pouvez ensuite utiliser un .nvmrcfichier suivi git pour indiquer la version du nœud requise pour un projet donné: https://stackoverflow.com/questions/24869959/how-do-i-specify-a-llocal-version-of-node-for -a-projet / 54503474 # 54503474

Testé sous Ubuntu 17.10.


1

Je vous suggère tout d'abord de supprimer toutes les installations de nodejs, puis d'exécuter le script ci-dessous une fois que vous avez édité la version de nodejs souhaitée et son répertoire d'installation parent

voir toutes les versions disponibles de nodejs

https://nodejs.org/dist/

le script ci-dessous vous permettra d'installer n'importe laquelle de ces versions de nodejs sur Linux ou OSX

#!/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

1

Si l'utilisation nne fonctionne pas, vous pouvez installer la dernière version de nodejs(c'est-à-dire la version 8) en exécutant les commandes suivantes:

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

sudo apt-get install -y nodejs

Des instructions supplémentaires sont ici .


0

Si vous êtes derrière un proxy, vous pourriez peut-être avoir cette erreur en lançant 'sudo n stable':

Error: invalid version

Vous devez définir les variables env comme ceci:

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

Et puis exécutez la commande en passant ces variables à l'utilisateur root:

sudo -E n stable


0

J'essaie d'installer via NVM auquel il est répondu ci-dessus, mais je suis confronté à une erreur dans Ubuntu 18.04. alors je passe par ce processus

sudo apt purge nodejs npm

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

nvm install node

après avoir exécuté cette commande u pourrait trouver cette erreur Command 'nvm' not found, did you mean:

dans ce cas, vous pouvez exécuter cette commande

source ~/.nvm/nvm.sh

OU vous pouvez le mettre dans le fichier /.bashrc ou ~ / .profile pour le charger automatiquement

après que vous pouvez à travers le processus suivant

nvm install node
nvm alias default node
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.