Question Comment installez-vous Node.JS sur CentOS?


J'ai trouvé de nombreuses instructions d'installation pour Node.js mais elles semblent toutes si compliquées. Je ne suis pas un administrateur super-système mais je peux me déplacer. J'ai yum sur le système, mais je n'ai trouvé aucun package node.js, et je ne sais pas comment compiler le code sur le serveur ni où le mettre.


130
2017-08-09 16:15


origine


Merci pour les bonnes réponses à tous. Je pense que vous pouvez maintenant installer à la fois nodejs et npm! impressionnant - qodeninja
dl.fedoraproject.org/pub/epel/6/x86_64/repoview/nodejs.html - Yolo Perdiem
... avec EPEL (instructions d'installation si vous ne possédez pas déjà le référentiel: rackspace.com/knowledge_center/article/…). - geerlingguy
Je ne pense pas que le système EPEL fonctionne plus ou ne fonctionne plus dans Centos 7. - jcollum


Réponses:


su - 
yum install gcc-c++ openssl-devel
cd /usr/local/src
wget http://nodejs.org/dist/node-latest.tar.gz
tar zxvf node-latest.tar.gz
(cd into extracted folder: ex "cd node-v0.10.3")
./configure
make
make install

Notez que cela nécessite Python 2.6+ pour utiliser ./configure au dessus de. Vous pouvez modifier le fichier "configure" pour qu'il pointe vers python2.7 dans la ligne 1 si nécessaire.

Pour créer un package RPM, vous pouvez utiliser FPM:

# wget http://nodejs.org/dist/node-latest.tar.gz
# tar zxvf node-latest.tar.gz
(cd into extracted folder: ex "cd node-v0.10.3")
# ./configure --prefix=/usr/
# make
# mkdir /tmp/nodejs
# make install DESTDIR=/tmp/nodejs/
# tree -L 3 /tmp/nodejs/
/tmp/nodejs/
└── usr
    ├── bin
    │   ├── node
    │   ├── node-waf
    │   └── npm -> ../lib/node_modules/npm/bin/npm-cli.js
    ├── include
    │   └── node
    ├── lib
    │   ├── dtrace
    │   ├── node
    │   └── node_modules
    └── share
        └── man

Maintenant faire le nodejs paquet:

# fpm -s dir -t rpm -n nodejs -v 0.8.18 -C /tmp/nodejs/ usr/bin usr/lib

Puis installez et vérifiez la version:

# rpm -ivh nodejs-0.8.18-1.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:nodejs                 ########################################### [100%]

# /usr/bin/node --version
v0.8.18

La source: https://github.com/jordansissel/fpm/wiki/PackageMakeInstall


139
2018-05-19 17:44



mais c'est en supposant que j'ai fait installer le droit? quelle id je n'a pas? - qodeninja
J'avais besoin d'inclure yum install gcc-c ++ - Yehosef
Bien que cela soit techniquement correct, quelle que soit la maintenabilité ou la répétabilité, il est fortement recommandé de gérer les paquetages via RPM (ou quel que soit l'emballage de votre distribution) plutôt que de construire et d'installer manuellement à partir de la source sur chaque machine où cela est nécessaire. Un certain nombre de réponses ci-dessous sont liées à des packages prédéfinis. - Jason Antman
Essayer de gérer Node.JS et tout son écosystème via RPM maintenant est un exercice futile, et je le dis en tant que personne qui a brièvement géré un repo yum contenant Node et un certain nombre de packages de modules. - jgoldschrafe
@IsaacRabinovitch Ils ont ajouté un ternaire if, ce qui n’est pas arrivé avant Python 2.5. Puisque CentOS suit le chemin RHEL consistant à rattacher le système Python à une version de la version 2.4 avec correctif personnalisé, ma solution consistait à: yum install python26 python26-develet ensuite exécuter python26 configure au lieu de ./configure. Puis, depuis le Makefile exécute également les scripts Python, j’ai défini le PYTHON variable là pour être python26 au lieu de python. En outre, vous allez avoir besoin g++ là-bas, alors si vous ne l'avez pas déjà fait, vous devriez yum install gcc-++. - Hank Gay


Si vous avez CentOS 6.x et avez activé le référentiel EPEL, vous pouvez utiliser yum pour installer node / npm:

$ sudo yum install npm

Une fois l’installation terminée, vérifiez que le noeud est correctement configuré:

$ node -v

(Devrait retourner quelque chose comme v0.10.36).

Si vous voulez des versions ultérieures de Node.js (par exemple, 4.x, 5.x, etc.), vous pouvez utiliser le Nodesource yum repository au lieu de EPEL.


63
2018-03-09 14:14



Cela a fonctionné à merveille sur mon système CentOS 6.4 et m'a donné le nœud et npm. J'ai le noeud 0.10.13, juste un peu en retrait de la dernière archive src 0.10.15. Il semble que ce besoin de vote supplémentaire se démarque car il dépasse l'option 'installer à partir de la source'. - Neek
Suivre ce installer EPEL repo. - Lee Chee Kiam
mettre à jour l'activation du dépôt epel yum install -y epel-release, vous pouvez alors installer node et npm avec yum. - svassr
Je ne pouvais pas faire fonctionner epel ou epel-release avec yum pour v4.2.x. La réponse nave.sh ci-dessous a fonctionné à merveille. - jcollum
L'installation via yum me donne une très ancienne version v0.10.42 ... Comment puis-je installer Node via yum / rpm pour obtenir la dernière version (actuellement la version 5.9.0)? - dokaspar


L'essentiel "Installation de Node.js via le gestionnaire de paquets" ne contient plus d'instructions pour l'installation de nodejs sur CentOS. Depuis Fedora 18, nodejs fait partie du référentiel standard. J'essaie "epel-fedora-nodejs" repo, et trouve ne plus mettre à jour, laissant la version à la version 0.6.0 obsolète.

La bonne nouvelle est que nous avons nef, un environnement virtuel pour nœud, pour nous aider.

https://github.com/isaacs/nave

L'installation de nodejs est extrêmement simple maintenant.

$ wget https://raw.github.com/isaacs/nave/master/nave.sh
$ chmod +x nave.sh
$ ./nave.sh install 0.8.8
$ ./nave.sh use 0.8.8
$ node -v  
v0.8.8

Dans le fichier nave.sh, vous devrez peut-être modifier les adresses URL locales afin qu'elles correspondent à la dernière structure dist de nodejs. Pour 0.11.0 j'ai changé le nave.sh pour avoir l'URL suivante

"http://nodejs.org/dist/v$ version / node-v $ version-linux-x64.tar.gz "


27
2017-10-25 09:12



nodejs.tchol.org est mort maintenant - explunit
@explunit Je viens de mettre à jour la réponse. S'il vous plaît essayer la nef. - user974312
FYI Cela semble l'installer pour cet utilisateur uniquement. Si vous souhaitez l’installer pour l’ensemble du système: ./nave.sh usemain <votre version> - awl
"nodejs fait partie du référentiel standard" - sur CentOS 7, il est incroyablement obsolète. La version installée est la version 10.x (sur le CentOS que notre service informatique utilise de toute façon). - jcollum


Pour CentOS

yum install gcc-c++ make git
cd /usr/local/src/
git clone git://github.com/joyent/node.git
cd node
./configure
make
make install

13
2018-05-07 15:11



Vous devriez utiliser une version publiée et non la version de github, sauf si vous envisagez de contribuer au projet de nœud. - B T


[Modifier] Merci David d’avoir souligné dans les commentaires ci-dessous que le nodejs.tchol.org site pointe maintenant vers un site de spam (sic!) .. Donc, cette réponse ne fonctionne plus, ne l'utilisez pas!

Je peux confirmer que la méthode que Chris a expliquée dans sa solution fonctionne dans CentOS 5.4 (je l'ai déjà fait il y a une minute :))

wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm
yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm
yum install nodejs-compat-symlinks npm

PS: bien sûr, vous devez être root (ou utiliser sudo) pour pouvoir l'installer.

Outre l’installation à partir du source (ce qui est toujours une option), il existe peut-être encore une alternative: ici je lis que  "node.js a été accepté dans Fedora Rawhide à compter de décembre 2012 et sera disponible dans Fedora 18.", alors peut-être qu'il finira par entrer dans les référentiels CentOS standard

Je vais regarder ça ..


11
2018-01-04 05:17



Cela a fonctionné à merveille sur CentOS 6. Merci! - KyleFarris
"nodejs.tchol.org" est mort maintenant - David Newcomb
Par conséquent, vous devriez simplement installer à partir des sources. N'aie pas peur. - John Hunt
@JohnHunt L'installation à partir des sources signifie que vous ne pouvez plus en désinstaller proprement. J'ai eu le même problème avec Ruby. Heureusement, je pouvais simplement restaurer l’image de la machine virtuelle ... L’installation à partir du source signifie que vous devez bien comprendre le paquet que vous installez. Étant donné qu'il existe des milliers de paquets Linux, ce n'est pas une option! - Christian
"Le lien ci-dessus"? Les réponses sont classées par vote et Chris est maintenant inférieur au vôtre. - Isaac Rabinovitch


Comme indiqué ci-dessus, "tchol.org" a disparu, laissant les responsables de CentOS se soucier soit de renoncer à l'utilisation d'un gestionnaire de paquets, soit de passer à un autre système d'exploitation. J'ai fait un pacte avec moi-même contre tout faire le précédent (à nouveau) sur toutes les boîtes / dev expérimentales.

Heureusement, il reste des RPM disponibles sur: http://patches.fedorapeople.org/oldnode/stable/el6/x86_64/

Ignorez simplement le nombre de tours par minute de l'installateur, qui dirige yum vers le site défunt. Cela devrait nous faire gagner un peu de temps, à moins que / jusqu'à ce qu'ils ne deviennent trop obsolètes.

Je garderai l'œil ouvert pour les nouvelles pensions, et posterai si je les trouve.


10
2018-04-14 19:27



Je dirais que la version 0.6 de votre lien est déjà assez obsolète. Il semble qu’il n’y ait pas vraiment de bonnes options pour RHEL / CentOS pour le moment, ce qui est étrange étant donné que Red Hat lui-même propose un PaaS node.js - explunit


Cela a fonctionné pour moi sur CentOS 5.7:

yum install openssl-devel 
yum install python27
yum install gcc-c++
cd /usr/local/src
wget http://nodejs.org/dist/node-latest.tar.gz
tar zxvf node-latest.tar.gz
cd node-v[tab]
python2.7 configure
make PYTHON=python2.7
make install

8
2018-02-18 19:51



Je dois utiliser python 2.6 sur mon CentOS 5.10, car python 2.7 n'est pas dans le repo. - ohho


Il n’ya pas une autre approche que je n’ai vue énumérée dans aucune des réponses, à savoir l’utilisation des distributions binaires pour Linux qui ont été publié depuis 0.8.6

Voici le script que j'utilise:

# get the latest stable binary 
latest_node=$(curl http://nodejs.org/dist/latest/SHASUMS.txt | grep 'linux-x64.tar.gz' | awk '{ print $2 }')
wget -O ~/nodestable.tar.gz http://nodejs.org/dist/latest/$latest_node
cd /usr/local/
sudo tar xzvf ~/nodestable.tar.gz --strip=1

Ou, si vous voulez une version spécifique (par exemple, rester sur la série 0.8):

wget http://nodejs.org/dist/v0.8.22/node-v0.8.22-linux-x64.tar.gz
cd /usr/local/
sudo tar xzvf ~/node-v0.8.22-linux-x64.tar.gz --strip=1

Et pour moi sur CentOS 6.3, je devais ajouter les liens suivants afin que les commandes node et npm fonctionnent depuis un utilisateur normal ou depuis sudo. Peut-être pas nécessaire selon votre version.

sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf

Franchement, la situation de node.js sous CentOS / RHEL est plutôt mauvaise car aucun des dépôts n’inclut node.js (voir plus bas). question connexe ici). Cette réponse présente les mêmes inconvénients que ceux mentionnés précédemment pour la compilation à partir des sources.


7
2017-11-08 00:50





Les réponses ci-dessus sont obsolètes

Comme racine

curl -sL https://rpm.nodesource.com/setup | bash -
yum install -y nodejs

et vous avez terminé.

vérifier votre installation avec

node -v

7
2018-06-06 10:04



Ma version de curl ne semble pas aimer le signataire du certificat SSL de l'URL et le script échoue donc en silence. Vous pouvez le dépasser en utilisant l'option curl -k. - Spike Williams
De même, après avoir ajouté -k à la commande curl ci-dessus, vous devez également mettre à jour la référence aux téléchargements curl de ce domaine dans le script "setup" qui est téléchargé. Puis exécutez ce script manuellement en utilisant bash. - Spike Williams


Personne n'a mentionné nvm gérer (plusieurs) en toute sécurité et facilement les installations de nœuds https://github.com/creationix/nvm? Je le trouve si utile.

Même utile pour construire une arborescence de fichiers de version de nœud et donc des paquetages rpm personnalisés sans trop de script, latest-node, wget, ./configure, make, make install bla bla

nvm install 0.10.9

Va télécharger les fichiers binaires ou compiler le code source en fonction de la version.


5
2018-04-04 12:32



Existe-t-il une installation hors ligne? - amit patel


Exécuter en tant que root sur RHEL, CentOS ou Fedora, pour Node.js v4 LTS Argon:

curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -

Alternativement pour Node.js v5:

curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -

Alternativement pour Node.js 0.10:

curl --silent --location https://rpm.nodesource.com/setup | bash -

Puis installez, en tant que root:

yum -y install nodejs

la source: https://nodejs.org/en/download/package-manager/


4
2017-11-14 14:20



La seule réponse qui fonctionne pour CentOS 7.2. Et a travaillé si vite et parfaitement. - writeToBhuwan
recommandation: visitez le projet NVM sur GitHub et obtenez les instructions définitives du fichier README: github.com/creationix/nvm#installation - Kay V