赵小黑 发表于 2019-2-17 07:45:24

Centos6安装安装node.js

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-develpkgconfig
  2.卸载npm 和 Node.js

npm uninstall npm -g
yum remove nodejs npm -y
  3.升级python
升级步骤:http://blog.运维网.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: *** Error 1
make: Leaving directory `/data/package/node-v0.10.29/out'
make: *** 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 框架搭建成功。接下来就愉快地进行开发吧!



roxettewu 发表于 2019-2-17 07:59:34

感谢楼主的分享!
页: [1]
查看完整版本: Centos6安装安装node.js