Pourquoi Ubuntu a-t-il d’anciennes versions de nodejs et npm dans leur gestionnaire de paquets apt-get?

Quand j’installe nodejs et npm avec apt-get

sudo apt-get update sudo apt-get install nodejs modejs-legacy npm I have the versions 

Je reçois les versions suivantes

 npm -v 1.3.10 nodejs -v v0.10.25 

Je sais comment les mettre à jour manuellement, mais pourquoi le gestionnaire de paquets apt-get a-t-il d’anciennes versions de ces paquets?

Il est préférable d’utiliser le ppa de nodeource. Ils ont fait un excellent travail en le gardant à jour et en offrant non seulement le LTS mais également les dernières versions de nœud disponibles. https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-dissortingbutions

Aussi facile que de le lancer depuis votre cli:

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

METTRE À JOUR:

La raison pour laquelle le gestionnaire de paquets a d’anciennes versions des binarys est due au fait que les responsables des paquets fournis mettent du temps à en créer et à en tester de nouvelles avec des versions mises à jour.

La bonne chose est que vous pouvez consumr et installer des paquets à partir d’autres référentiels (ppa).

D’autres instructions sur Internet vous indiqueront d’installer le nœud 7.x en téléchargeant un script et en le sudo dans sudo . Ceci est moins typé, mais peut donner ce script et toute personne susceptible d’avoir compromis le site Web ou de configurer un access root à MITM sur votre ordinateur.

Étant donné que les responsables des référentiels d’apt principaux auditent et testent les packages avant de les append, leur approbation des dernières versions peut prendre un certain temps. Vous pouvez télécharger le nœud 7.x à partir d’un repo géré de manière indépendante:

Je copie de cette réponse

 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 68576280 sudo apt-add-repository "deb https://deb.nodesource.com/node_7.x $(lsb_release -sc) main" sudo apt-get update sudo apt-get install nodejs 

Une chose à prendre en compte est que pendant l’ajout du référentiel en utilisant $ (lsb_release -sc) fonctionne dans ubuntu, il se peut qu’il ne fonctionne pas sur les dissortingbutions basées sur Ubuntu telles que Linux Mint. Le script de nodesource effectue une traduction du nom de dissortingbution basé sur Ubuntu vers le nom de dissortingbution Ubuntu correspondant.

Par exemple: “Linux Mint” “Sylvia” est mappé sur “Ubuntu” “xenial”

Ce qui signifie que si vous voulez utiliser les instructions comme indiqué dans la réponse dans une dissortingbution basée sur Ubuntu, vous devez remplacer $ (lsb_release -sc) par la dissortingbution Ubuntu de base.

Par exemple, pour installer sous Linux Mint sylvia, vous devez entrer

 sudo apt-add-repository "deb https://deb.nodesource.com/node_7.x xenial main"