install node v7.x
curl --silent --location https://rpm.nodesource.com/setup_7.x | bash -
#设置镜像npm config set registry=http://registry.npm.taobao.org
#安装nodejssudo 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.安装gccyum 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 版本,可以避开很多坑。
三、跳过编译安装
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 框架搭建成功。接下来就愉快地进行开发吧!
来源:51CTO
作者:qianghong000
链接:https://blog.51cto.com/qiangsh/2095944