I've found numerous installation instructions for Node.js but they all seem so complicated -- I'm not a super sys admin but I can get around. I have yum on the system, but I didn't find any node.js packages, and I'm not sure how to compile code on the server or where to put it.
20 Answers
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
Note that this requires Python 2.6+ to use ./configure above. You can modify the "configure" file to point to python2.7 in line 1 if necessary.
To create an RPM package, you can use 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
Now make the nodejs package:
# fpm -s dir -t rpm -n nodejs -v 0.8.18 -C /tmp/nodejs/ usr/bin usr/lib
Then install and check the 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
- 1,640
- 4
- 25
- 41
- 52,423
If you have CentOS 6.x, and have enabled the EPEL repository, you can use yum to install node/npm:
$ sudo yum install npm
After the installation is complete, check to make sure node is setup properly:
$ node -v
(Should return something like v0.10.36).
If you want later versions of Node.js (e.g. 4.x, 5.x, etc.), you can use the Nodesource yum repository instead of EPEL.
- 1,377
The gist "Installing Node.js via package manager" does NOT contain instructions for installing nodejs on CentOS any more. Since Fedora 18, nodejs becomes part of the standard repo. I try "epel-fedora-nodejs" repo, and find it no longer update, leaving the version at the outdated 0.6.0.
The good news is that, we have nave, a Virtual Environments for Node, to help us.
https://github.com/isaacs/nave
Installing nodejs is dead easy now.
$ 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
In the nave.sh file, you may have to change the local urls to the match with the latest dist structure of nodejs. For 0.11.0 I changed the nave.sh to have the following URL
"http://nodejs.org/dist/v$version/node-v$version-linux-x64.tar.gz"
- 379
For 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
- 139
[Edit] Thank you David for pointing out in the comments below that the nodejs.tchol.org site is now pointing to a spam site (sic!).. So this answer doesn't work anymore, don't use it!
I can confirm that the method Chris explained in his solution does work in CentOS 5.4 (i've done it a minute ago :))
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: of course you must be root (or use sudo) in order to install that..
Besides installing from source (which is always an option) maybe there is still an alternative: here I read that "node.js has been accepted into Fedora Rawhide as of December 2012 and will be available in Fedora 18.", so maybe it will eventually get into the standard CentOS repositories
I'll have a look at this..
- 391
As noted above, "tchol.org" is gone, leaving CentOS folks looking at either abandoning use of a package manager, or switching to another OS. I made a pact with myself against every doing the former (again) on all but experimental / dev boxes.
Fortunately, there are rpms still available at: http://patches.fedorapeople.org/oldnode/stable/el6/x86_64/
Just ignore the rpm for the repo-installer, which directs yum to the defunct site. That should buy us a little time, unless / until they become too obsolete.
I'll keep my eyes open for newer repos, and post back if I find them.
- 653
There's one more approach I haven't seen listed in any of the other answers, and that is to use the binary distributions for Linux which have been published since 0.8.6
Here's the script I use:
# 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
Or, if you want a specific version (e.g. to stay on the 0.8 series):
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
And for me on CentOS 6.3, I had to add the following links so that node and npm commands worked from either regular user or from sudo. Might not be needed depending on your 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
Frankly, the situation for node.js on CentOS/RHEL is rather bad, as none of the repos include node.js (see related question here). This answer has the same disadvantages as previously mentioned for compiling from source.
The answers above are outdated
AS ROOT
curl -sL https://rpm.nodesource.com/setup | bash -
yum install -y nodejs
and you are done.
verify your install with
node -v
- 331
No one mentioned nvm to handle (multiple) safely and easily Node installations https://github.com/creationix/nvm? I find it so useful.
Even useful to build a Node release files tree and so custom rpm packages without scripting too much, latest-node, wget, ./configure, make, make install blah blah.
nvm install 0.10.9
Will download binaries or compile source code according to the release.
- 465
Run as root on RHEL, CentOS or Fedora, for Node.js v4 LTS Argon:
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
Alternatively for Node.js v5:
curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
Alternatively for Node.js 0.10:
curl --silent --location https://rpm.nodesource.com/setup | bash -
Then install, as root:
yum -y install nodejs
- 151
I have some pretty straight-forward instructions, along with a .spec file here:
http://www.chrisabernethy.com/installing-node-js-on-centos-redhat/
You'll be compiling this from source, so you will need to ensure that you have all of the necessary packages for doing that on your system (gcc and friends). This set of instructions is for building an RPM, so if you are missing any required packages, rpmbuild will let you know which ones you need to install first.
- 39
You'll also need npm
git clone https://github.com/isaacs/npm.git
cd npm
sudo make install
- 208
You can use 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
- 31
For Ubuntu, this worked for me for 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
- 173
My answer for 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
Check in the folder https://nodejs.org/dist/latest/ to find the download link for the latest version.
- 123
here is my Dockerfile which installed node v0.10.36 in 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
- 121
Below code worked pretty well on 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
It does not work anymore, http://nodejs.tchol.org is not online anymore.
- 1,790
I went thru the task of doing this installation myself on RHEL 5.8 not too long ago. Unfortunately, with nodejs.tchol.org going offline, the only option is to build it from source.
However, the build process got quite a bit complicated as the build script involves python code that doesn't work with the default version of Python on RHEL. After a lot of trial and error (and a lot of googling), I found this blog post which basically describes a step to step on the following tasks required.
a. Install Python 2.6 b. Setup that version of python as an alternate version, then setting it as default c. configure and install node.js d. Switching Python back to the default 2.4 version.
The key is that you should switch back to Python 2.4 afterwards; otherwise, simple things like yum will fail.
http://www.robeesworld.com/blog/31/installing_node_js_0_8_under_centos_5_8
- 126
After installing using the top-rated answer, i was unable to install any global modules (-g) without Sudo permissions. NPM update showed errors. Below method worked perfect for me, there is no need for SU or SUDO permissions.
I installed Node.js and NPM using the below method taken from (https://gist.github.com/isaacs/579814) but modified two lines of commands as per the advise from a comment posted by deesejohn in that 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
Check installed version using node -v and npm -v