install node v7.x

curl --silent --location https://rpm.nodesource.com/setup_7.x | bash -
#设置镜像
npm config set registry=http://registry.npm.taobao.org
#安装nodejs
sudo yum install nodejs

#验证安装情况

node -v
npm -v

install node v8.x

curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
sudo yum install -y nodejs

#验证安装情况
node -v
npm -v

install node v4.x

一.准备工作

1.安装gcc
yum install make libssl-dev scl-utils g++ gcc gcc-c++ openssl-devel bzip2-devel pkgconfig

2.卸载npm 和 Node.js

npm uninstall npm -g
yum remove nodejs npm -y

3.升级python
升级步骤:https://blog.51cto.com/qiangsh/1979284

二、编译安装node.js(推荐第三步跳过编译安装)

wget https://nodejs.org/dist/v4.8.7/node-v4.8.7.tar.gz
tar -xzvf node-v4.8.7.tar.gz
cd node-v4.8.7/ 
./configure 
make 
sudo make install

建立软链,否则可能会提示你没有安装nodejs无法安装npm。:

sudo ln -s /usr/local/bin/node /usr/bin/node

安装过程出现如下错误:

ImportError: No module named bz2
make[1]: *** [/data/package/node-v0.10.29/out/Release/obj/gen/libraries.cc] Error 1
make[1]: Leaving directory `/data/package/node-v0.10.29/out'
make: *** [node] Error 2

解决方法:

yum install bzip2-devel

然后需要重新编译一下python,之后再import bz2就不会提示错误了。

在 CentOS 6 上编译 node 源代码的时候,有以下报错:
WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)
这是由于 CentOS 6 中编译 node4+ 需要高版本号的 C++ 编译器,于是我直接上传编译好的 nodejs 二进制版本。
事实上,我推崇大家直接下载已编译好的 node 版本,可以避开很多坑。

三、跳过编译安装

node-v4.8.7 二进制包官方下载

1.下载node二进制包,解压配置:

wget https://nodejs.org/dist/v4.8.7/node-v4.8.7-linux-x64.tar.gz
tar zxvf node-v4.8.7-linux-x64.tar.gz
mv node-v4.8.7-linux-x64 /usr/local/node
chown -R root:root /usr/local/node/

2.建立软链,否则可能会提示你没有安装nodejs无法安装npm。:

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

3.配置环境变量

$ vi /etc/profile
增加以下内容:

export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH

如果关闭终端再进去发现 node 环境变量失效,可以在 ~/.bash_profile 增加 export。

$ vi ~/.bash_profile
在结尾添加以下内容:

export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH

使环境变量生效

source /etc/profile

退出系统,再次进入执行 node -v 和 npm -v,出现版本号则说明没有问题。

四.测试node.js

查看 node 版本:

$ node -v
v4.8.7

第一个程序少不了hello world了,找一个空闲目录

vi hello_world.js  

'use strict';
var http = require('http');  
http.createServer(function (req, res) {  
    res.writeHead(200, {'Content-Type': 'text/plain'});  
    res.end('Hello Node.js\n');  
}).listen(8088, "0.0.0.0");  
console.log('Server running at http://127.0.0.1:8088/');  

第一行总是写上'use strict';是因为我们总是以严格模式运行JavaScript代码,避免各种潜在陷阱。

然后编译,当前目录下输入:

node hello_world.js  

输出Server running at ……则代表编译成功了。(若提示commad :node:not found,则是第二部编译没有成功,可以在编译次,留意下是不是有错误,也可能是找不到node命令,配置一个软连接:ln -s /usr/local/bin/node /usr/bin/node )

然后在浏览器输入http://127.0.0.1:8088,则浏览器打印出Hello Node.js

五、其他

npm是什么东东?npm其实是Node.js的包管理工具(package manager)。

为啥我们需要一个包管理工具呢?因为我们在Node.js上开发时,会用到很多别人写的JavaScript代码。如果我们要使用别人写的某个包,每次都根据名称搜索一下官方网站,下载代码,解压,再使用,非常繁琐。于是一个集中管理的工具应运而生:大家都把自己开发的模块打包后放到npm官网上,如果要使用,直接通过npm安装就可以直接用,不用管代码存在哪,应该从哪下载。

更重要的是,如果我们要使用模块A,而模块A又依赖于模块B,模块B又依赖于模块X和模块Y,npm可以根据依赖关系,把所有依赖的包都下载下来并管理起来。否则,靠我们自己手动管理,肯定既麻烦又容易出错。

升级npm到最新版本

npm install -g npm

防止npm被墙,使用淘宝的 npm 镜像替代:

npm install -g cnpm --registry=https://registry.npm.taobao.org

提示……It worked,则npm安装成功!
**

搭建express框架**

安装express:

npm install -g express-generator

在需要放置 node app 的目录下初始化一个 express 项目并安装所需模块:

express -e testapp
cd testapp && npm install

在浏览器中输入 公网IP:3000 便能直接看到 express 初始页面:

说明 express 框架搭建成功。接下来就愉快地进行开发吧!