web-dev-qa-db-fra.com

Comment installer Node.JS sur Amazon Linux

J'ai vu comment utiliser yum pour installer les dépendances, puis installer Node.JS & NPM à partir du code source. Bien que cela fonctionne, je pense que Node.JS et NPM devraient tous deux figurer dans un dépôt public quelque part.

Comment puis-je installer Node.JS et NPM en une seule commande sur AWS Amazon Linux?

220
Tim Fulmer

Comme d’autres, la réponse acceptée m’a également donné une version obsolète.

Voici une autre façon de le faire qui fonctionne très bien:

$ curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
$ yum -y install nodejs

Vous pouvez également remplacer le 10.x par une autre version, telle que 8.x, etc.

Vous pouvez voir toutes les versions disponibles sur la page NodeSource Github , et en tirer si vous le souhaitez.

170
Matthew Herbst

La réponse acceptée m'a donné les nœuds 0.10.36 et npm 1.3.6 qui sont très obsolètes. J'ai récupéré la dernière archive linux-x64 depuis la page de téléchargement de nodejs et l'installation n'a pas été trop difficile: https://nodejs.org/dist/latest/ .

# start in a directory where you like to install things for the current user
(For noobs : it downloads node package as node.tgz file in your directlry)
curl (paste the link to the one you want from the downloads page) >node.tgz

Maintenant, zipper le goudron que vous venez de télécharger - 

tar xzf node.tgz

Exécutez cette commande et ajoutez-la également à votre .bashrc:

export PATH="$PATH:(your install dir)/(node dir)/bin"

(exemple: export PATH = "$ PATH: /home/ec2-user/mydirectory/node/node4.5.0-linux-x64/bin")

Et mettez à jour npm (une seule fois, n’ajoutez pas à .bashrc):

npm install -g npm

Notez que le -g qui signifie global, signifie en réalité global pour cette instance npm, qui est l'instance que nous venons d'installer et est limitée à l'utilisateur actuel. Ceci s'appliquera à tous les paquets que npm installe 'globalement'.

61
voltrevo

La procédure qui a fonctionné pour moi (suivant ces plutôt des instructions anciennes avec quelques mises à jour): 

  • vérifiez que git est installé git --version ou installez-le via:
    Sudo yum install git 
  • installez gcc et openssl:
    Sudo yum install gcc-c++ make
    Sudo yum install openssl-devel 
  • clonez le repo git dans un répertoire appelé node (que vous pourrez supprimer ultérieurement):
    git clone https://github.com/nodejs/node.git 
  • décidez quelle version du noeud vous voulez sur https://github.com/nodejs/node/releases
  • allez dans le répertoire de nœud que vous venez de créer et installez le nœud
    cd node
    git checkout v6.1.0 - placez la version de votre choix après la v
    ./configure
    make
    Sudo make install 
  • vérifier que le noeud est installé/fonctionne avec node --version ou simplement node (noeud de sortie via process.exit() ou ^C x 2 ou ^C + exit
  • vérifiez la version de npm: npm --version et mettez à jour si nécessaire via Sudo npm install -g npm 
  • Facultatif: supprimez le répertoire node avec rm -r node

Remarques:

  1. La réponse acceptée n'a pas fonctionné car Sudo yum install nodejs --enablerepo=epel-testing renvoie l'erreur: No package nodejs available.
    ... et Sudo yum install nodejs --enablerepo=epel (c'est-à-dire sans -testing) ont uniquement donné de très anciennes versions.
  2. Si vous avez déjà une ancienne version de noeud installée, vous pouvez la supprimer avec:
    Sudo npm uninstall npm -g ... depuis que npm peut se désinstaller
    Sudo yum erase nodejs
    Sudo rm -f /usr/local/bin/node
    (Sudo yum rm nodejs dans la réponse acceptée ne fonctionnera pas car rm n'est pas une commande yum valide, voir yum --help)
  3. Il est possible de cloner le référentiel de nœud via git clone git://github.com/nodejs/node.git plutôt que git clone https://github.com/nodejs/node.git mais vous pouvez obtenir plusieurs erreurs (voir ici ).
  4. Si vous avez déjà un répertoire /node provenant d'une installation précédente, supprimez-le avant d'utiliser la commande git clone (sinon il y aura un conflit):
    rm -r node 
  5. Si vous rencontrez des problèmes avec une commande Sudo npm... - telle que Sudo: npm: command not found et/ou si vous rencontrez des problèmes d'autorisation lors de l'installation de packages de nœuds sans Sudo, éditez Sudo nano /etc/sudoers et ajoutez :/usr/local/bin à la fin de la ligne Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin pour qu'il lise Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
26
goredwards

Pour la version v4 LTS, utilisez:

curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum -y install nodejs

Pour Node.js v6, utilisez:

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs

J'ai également rencontré des problèmes en essayant d'installer des addons natifs sur Amazon Linux. Si vous voulez faire cela, vous devriez aussi installer des outils de construction:

yum install gcc-c++ make
18
birnbaum

Installation simple avec NVM ...

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
nvm install node
18
fuzzysearch

Je viens de rencontrer ça. J'ai essayé quelques-unes des réponses les plus populaires, mais au final, ce qui a bien fonctionné pour moi, c'est le guide de configuration rapide d'Amazon. 

Didacticiel: Configuration de Node.js sur une instance Amazon EC2

L'essentiel du tutoriel est:

  1. Assurez-vous que vous êtes ssh'd sur l'instance.
  2. Saisissez NVM: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
  3. Actif . ~/.nvm/nvm.sh
  4. Installez le noeud à l'aide de nvm nvm install 4.4.5 (REMARQUE: vous pouvez choisir une version différente. Commencez par vérifier les versions distantes en exécutant $ nvm ls-remote)
  5. Enfin, vérifiez que vous avez correctement installé le noeud Noeud en exécutant $ node -e "console.log('Running Node.js' + process.version)".

Espérons que cela aide la personne suivante.

12
troxwalt

J'avais Node.js 6.x installé et je voulais installer Node.js 8.x.

Voici les commandes que j'ai utilisées (extraites du site de Nodejs avec quelques étapes supplémentaires pour gérer les données en cache):

  1. Sudo yum remove nodejs: désinstaller Node.js 6.x (je ne sais pas si cela était nécessaire ou non)
  2. curl --silent --location https://rpm.nodesource.com/setup_8.x | Sudo bash - 
  3. Sudo yum clean all
  4. Sudo yum makecache: régénérer le cache de métadonnées (cela ne figurait pas dans la documentation, mais yum continuait d'essayer d'installer Node.jx 6.x sans succès jusqu'à ce que j'émette ces deux dernières commandes)
  5. Sudo yum install nodejs: Installez Node.js 8.x
5
Brad W

Sudo yum install nodejs npm --enablerepo=epel fonctionne pour Amazon Linux AMI. curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejs works pour RedHat.

3

https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

curl --silent --location https://rpm.nodesource.com/setup_10.x | Sudo bash - Sudo yum -y install nodejs

1
Sunil Buddala

La solution la plus simple est la suivante (faites-les en tant que root)

Sudo su root
cd /etc
mkdir node
yum install wget
wget https://nodejs.org/dist/v9.0.0/node-v9.0.0-linux-x64.tar.gz
tar -xvf node-v9.0.0-linux-x64.tar.gz
cd node-v9.0.0-linux-x64/bin
./node -v
ln -s /etc/node-v9.0.0-linux-x64/bin/node node

 enter image description here

1
grepit

La documentation officielle de l'instance EC2 me convient: https://docs.aws.Amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html

 1. curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
 2. . ~/.nvm/nvm.sh
 3. nvm ls-remote (=> find your version x.x.x =>) nvm install  x.x.x
 4. node -e "console.log('Running Node.js ' + process.version)"
0
Taner Melikoglu

Comme mentionné dans la documentation officielle, simple ci-dessous 2 étapes - 

curl -sL https://deb.nodesource.com/setup_10.x | Sudo -E bash -
Sudo apt-get install -y nodejs
0
Vivek Chaturvedi

Pour ceux qui souhaitent que la réponse acceptée soit exécutée dans Ansible sans autre recherche, je poste la tâche ici pour plus de commodité et pour toute référence future.

Recommandation de réponse acceptée: https://stackoverflow.com/a/35165401/78935

Équivalent de tâche

tasks:
  - name: Setting up the NodeJS yum repository
    Shell: curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
    args:
      warn: no
  # ...
0
Andrei Cioara

Il semble que personne ne le mentionne. Sur Amazon Linux 2 , la méthode officielle pour charger EPEL est la suivante:

  • Sudo Amazon-linux-extras install epel

... alors vous pouvez:

  • Sudo yum install nodejs

Voir Bibliothèque d’extras (Amazon Linux 2)

0
Dai

Vous pouvez mettre à jour/installer le nœud en réinstallant le paquet installé sur la version actuelle, ce qui peut éviter de nombreuses erreurs lors de la mise à jour.

Ceci est fait par nvm avec la commande ci-dessous. Ici, j'ai mis à jour la version 8 de mon nœud et réinstallé tous les packages disponibles dans la v8 également!

nvm i v8 --reinstall-packages-from=default

Cela fonctionne également sur l'instance AWS Linux.

0
Soundharya AM