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?
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.
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'.
La procédure qui a fonctionné pour moi (suivant ces plutôt des instructions anciennes avec quelques mises à jour):
git --version
ou installez-le via:Sudo yum install git
Sudo yum install gcc-c++ make
Sudo yum install openssl-devel
node
(que vous pourrez supprimer ultérieurement):git clone https://github.com/nodejs/node.git
cd node
git checkout v6.1.0
- placez la version de votre choix après la v
./configure
make
Sudo make install
node --version
ou simplement node
(noeud de sortie via process.exit()
ou ^C
x 2 ou ^C
+ exit
) npm --version
et mettez à jour si nécessaire via Sudo npm install -g npm
node
avec rm -r node
Remarques:
Sudo yum install nodejs --enablerepo=epel-testing
renvoie l'erreur: No package nodejs available.
Sudo yum install nodejs --enablerepo=epel
(c'est-à-dire sans -testing
) ont uniquement donné de très anciennes versions.Sudo npm uninstall npm -g
... depuis que npm peut se désinstallerSudo 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
)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 )./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
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
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
Installation simple avec NVM ...
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
nvm install node
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:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
. ~/.nvm/nvm.sh
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
)$ node -e "console.log('Running Node.js' + process.version)"
.Espérons que cela aide la personne suivante.
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):
Sudo yum remove nodejs
: désinstaller Node.js 6.x (je ne sais pas si cela était nécessaire ou non)curl --silent --location https://rpm.nodesource.com/setup_8.x | Sudo bash -
Sudo yum clean all
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)Sudo yum install nodejs
: Installez Node.js 8.xSudo 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.
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
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
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)"
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
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
# ...
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
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.