NodeJS
From SME Server
Node.js® is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
[edit]
Prerequesites
- Requires Python 2.7 installed as described in Python Altinstall
- git and g++
yum -y install git gcc-c++
Install
mkdir -p /var/git cd /var/git RELEASE=$(curl -s http://nodejs.org/download/ |grep Current\ version |awk -F"[><]" '{print $5}') git clone https://github.com/joyent/node.git cd /var/git/node git reset --hard git checkout $RELEASE export PYTHON=/usr/local/bin/python2.7 $PYTHON ./configure make make install
Updating
NodeJS should be recompiled if the package itself or any of its dependencies is updated.
NodeJS 1.7 dependencies include:
- openssl-devel
- v8-devel
- zlib-devel
The commands below will identify the latest release of nodejs, then download, recompile, and install:
RELEASE=$(curl -s -L http://nodejs.org/download/ |grep Current\ version |awk -F"[><]" '{print $5}') cd /var/git/node git reset --hard git pull origin $RELEASE-release # # recompile and install # export PYTHON=/usr/local/bin/python2.7 $PYTHON ./configure make make install
On SME 9, you can install a reasonably recent version of NodeJS from the EPEL repository:
- Add the epel repository to the configuration db using the SME 9 instructions from Epel
- Update the yum configuration file using
signal-event yum-modify
- Install NodeJS
yum --enablerepo=epel install nodejs
This will install nodejs plus c-ares19, http-parser, libuv and v8 from the epel repo, plus libicu from the base repo.
Updating
- Update using
yum --enablerepo=epel update nodejs c-ares19 http-parser libuv v8
- NodeJS updates are released every 3 - 12 weeks; check for updates regularly.
Test
node -v