NodeJS

From SME Server
Revision as of 04:32, 27 April 2016 by RequestedDeletion (talk | contribs) (Add note about SCL)
Jump to navigationJump to search
Important.png Note:
Please note that Nodejs is available via Software Collections, which is the recommended way of using Nodejs on Koozali 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.

http://nodejs.org/

[edit]
PythonIcon.png Skill level: Advanced
The instructions on this page may require deviations from standard procedures. A good understanding of linux and Koozali SME Server is recommended.


Warning.png Warning:
This procedure requires installation of gcc and could significantly compromise your server's security.
Thorough understanding of linux system management is required.

Proceed at your own risk



Prerequesites

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