web-dev-qa-db-fra.com

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 sys mais je peux me déplacer. J'ai miam sur le système, mais je n'ai trouvé aucun paquet node.js, et je ne sais pas comment compiler le code sur le serveur ni où le mettre.

132
qodeninja
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 pointer vers python2.7 à 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, créez le package nodejs:

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

Ensuite, 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

Source: https://github.com/jordansissel/fpm/wiki/PackageMakeInstall

139
quanta

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 nœud est correctement configuré:

$ node -v

(Devrait retourner quelque chose comme v0.10.36).

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

65
geerlingguy

The Gist "Installation de Node.js via le gestionnaire de paquets" ne contient plus d'instructions pour installer nodejs sur CentOS. Depuis Fedora 18, nodejs fait partie du repo standard. J'essaie "epel-Fedora-nodejs" repo, et je ne le trouve plus mis à jour, laissant la version à la version obsolète 0.6.0.

La bonne nouvelle est que nous avons une nef , un environnement virtuel pour Node, pour nous aider.

https://github.com/isaacs/nave

L'installation de nodejs est désormais facile.

$ 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 URL locales pour 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
user974312

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
Jason Royle

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

Je peux confirmer que la méthode expliquée par Chris dans sa solution fonctionne dans CentOS 5.4 (je l'ai 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 installer cela ..

Outre l'installation à partir des sources (qui est toujours une option), il existe peut-être encore une alternative: ici, je lis cela "node.js a été accepté dans Fedora Rawhide en 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 voir ça ..

11
Luke

Comme indiqué ci-dessus, "tchol.org" a disparu, laissant les gens de CentOS envisager d'abandonner l'utilisation d'un gestionnaire de paquets ou de passer à un autre système d'exploitation. J'ai fait un pacte avec moi-même contre tout ce qui est fait (encore une fois) sur toutes les cases sauf expérimentales/dev.

Heureusement, il existe encore des rpms sur: http://patches.fedorapeople.org/oldnode/stable/el6/x86_64/

Ignorez simplement le rpm pour le repo-installer, qui dirige yum vers le site disparu. Cela devrait nous faire gagner un peu de temps, à moins que/jusqu'à ce qu'ils deviennent trop obsolètes.

Je garderai les yeux ouverts pour les dépôts plus récents, et posterai si je les trouve.

10
JosephK

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
Will

Il y a une autre approche que je n'ai pas vue répertoriée dans aucune des autres réponses, et c'est d'utiliser les distributions binaires pour Linux qui ont été publiées depuis la 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 souhaitez une version spécifique (par exemple pour 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, j'ai dû ajouter les liens suivants afin que les commandes node et npm fonctionnent à partir de l'utilisateur normal ou de Sudo. Peut ne pas être 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 sur CentOS/RHEL est plutôt mauvaise, car aucun des repos n'inclut node.js (voir question connexe ici ). Cette réponse présente les mêmes inconvénients que ceux mentionnés précédemment pour la compilation à partir de la source.

7
explunit

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érifiez votre installation avec

node -v
7
josh123a123

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

Même utile pour construire une Node version arborescence des fichiers et donc des packages rpm personnalisés sans trop de scripts, latest-node, wget, ./configure, make, make install bla bla.

nvm install 0.10.9

Télécharge les binaires ou compile le code source selon la version.

5
fsoppelsa

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 -

Installez ensuite, en tant que root:

yum -y install nodejs

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

4
itzhar

J'ai quelques instructions assez simples, avec un fichier .spec ici:

http://www.chrisabernethy.com/installing-node-js-on-centos-redhat/

Vous allez compiler cela à partir de la source, vous devrez donc vous assurer que vous avez tous les packages nécessaires pour le faire sur votre système (gcc et amis). Cet ensemble d'instructions est pour la construction d'un RPM, donc si vous manquez les paquets requis, rpmbuild vous fera savoir lesquels vous devez installer en premier.

3
Chris

Vous pouvez utiliser nodebrew . $ curl -L git.io/nodebrew | Perl - setup $ export PATH=$HOME/.nodebrew/current/bin:$PATH $ source ~/.bashrc $ nodebrew install-binary latest $ nodebrew use latest $ node -v

3
aomoriringo

Vous aurez également besoin de npm

git clone https://github.com/isaacs/npm.git
cd npm
Sudo make install
3
Beachhouse

Ma réponse pour la version 4+:

yum -y install wget
wget https://nodejs.org/dist/v4.0.0/node-v4.0.0-linux-x64.tar.gz
tar xzf node-v4.0.0-linux-x64.tar.gz -C /usr/local
rm -rf node-v4.0.0-linux-x64.tar.gz
mv /usr/local/node-v4.0.0-linux-x64 /usr/local/node
ln -s /usr/local/node/bin/node /usr/bin/node
ln -s /usr/local/node/bin/npm /usr/bin/npm

Vérifiez dans le dossier https://nodejs.org/dist/latest/ pour trouver le lien de téléchargement de la dernière version.

2
Evan Siroky

voici mon Dockerfile qui a installé le noeud v0.10.36 dans centOS 7

FROM centos:7

RUN    yum -y update
RUN    yum -y install vi, vim, unzip, tar
RUN    yum -y install wget, curl, git

RUN    yum -y install epel-release
RUN    yum -y install npm
2
Dinis Cruz

Pour Ubuntu, cela a fonctionné pour moi pour la version 0.4.10

cd /usr/local/src/
Sudo wget http://nodejs.org/dist/node-v0.4.10.tar.gz
Sudo tar zxvf node-v0.4.10.tar.gz 
cd node-v0.4.10/
Sudo ./configure 
Sudo make
Sudo make install
2
Michael Durrant

Après l'installation en utilisant la réponse la mieux notée, je n'ai pas pu installer de modules globaux (-g) sans autorisations Sudo. La mise à jour du NPM a montré des erreurs. La méthode ci-dessous a fonctionné parfaitement pour moi, il n'y a pas besoin d'autorisations SU ou Sudo.

J'ai installé Node.js et NPM en utilisant la méthode ci-dessous tirée de ( https://Gist.github.com/isaacs/579814 ) mais j'ai modifié deux lignes de commandes selon l'avis d'un commentaire posté par deesejohn dans cette page.

cd
Sudo yum install gcc-c++
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=$HOME/local
make install
curl -L https://www.npmjs.org/install.sh | sh

Vérifiez la version installée à l'aide de node -v et npm -v

1
Vijay Rajasekaran

Le code ci-dessous fonctionnait assez bien sur CentOS 6

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

Cela ne fonctionne plus, http://nodejs.tchol.org n'est plus en ligne.

1
PaVan G Jakati

Je suis passé par la tâche de faire cette installation moi-même sur RHEL 5.8 il n'y a pas si longtemps. Malheureusement, avec nodejs.tchol.org hors ligne, la seule option est de le construire à partir de la source.

Cependant, le processus de construction est devenu un peu compliqué car le script de construction implique python code qui ne fonctionne pas avec la version par défaut de Python sur RHEL. Après beaucoup d'essais et d'erreurs (et beaucoup de googler), j'ai trouvé ce billet de blog qui décrit essentiellement une étape à étape sur les tâches suivantes requises.

une. Installez Python 2.6 b. Configurez cette version de python en tant que version alternative, puis définissez-la par défaut c. Configurez et installez node.js d. Switching = Python retour à la version 2.4 par défaut.

La clé est que vous devez revenir à Python 2.4 par la suite; sinon, des choses simples comme yum échoueront.

http://www.robeesworld.com/blog/31/installing_node_js_0_8_under_centos_5_8

1
Victor Chan