Centos6.5安装部署nodejs
- 使用编译好的包安装
一、在官网下载包
https://nodejs.org/en/download/
二、把包传送到服务器,进入到包目录并解压
tar axvf node-v6.9.5-linux-x64.tar.xz
三、进入到解压后的node包中的bin目录
cd node-v6.9.5-linux-x64/bin
四、查看node版本
./node -v
五、在opt目录下创建bin目录,用于后面的软连接配置
mkdir /opt/bin/
六、进入编译后的目录后,进行一些软连接配置,即可全局使用node/npm命令
ln -s /home/czp/node-v6.9.5-linux-x64/bin/node /opt/bin/node
ln -s /home/czp/node-v6.9.5-linux-x64/bin/npm /opt/bin/npm
这样就简单的部署好了
- 使用源码安装
一、下载nodejs的依赖包
yum -y install gcc gcc-c++ openssl-devel
或yum -y install gcc make gcc-c++ openssl-devel wget
或yum install libtool automake autoconf gcc-c++ openssl-devel
二、官网下载node或者wget下载
官网下载:https://nodejs.org/en/download/
wget下载:wget http://nodejs.org/dist/v6.9.5/node-v6.9.5.tar.gz
三、解压包并进入
tar zxvf node-v6.9.5.tar.gz
cd node-v6.9.5
四、配置、编译、安装
./configure --prefix=/opt/nodejs
make 这个时间还是比较长的
make install
五、配置node环境
进入:vim /etc/profile
#set nodejs env
export NODE_HOME=/opt/nodejs
export PATH=$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_modules:$PATH
重启生效:
六、检查版本
node -v
源码编译安装出现的问题
1、问题:./configure —prefix=/opt/node后报错WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)说明gcc版本太低需要升级
//绿色的字为错位的所在
解决方法:
GCC4.9.4官网有全版本下载:http://ftp.gnu.org/gnu/gcc/
1.下载gcc最新的源码包 wget http://gcc.skazkaforyou.com/releases/gcc-4.9.1/gcc-4.9.1.tar.gz
2.解压缩:tar -xf gcc-4.9.1.tar.gz
3.进入到目录 cd gcc-4.9.1,运行:./contrib/download_prerequisites。这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。
4.建立输出目录并到目录里:mkdir gcc-build-4.9.1;cd gcc-build-4.9.1
5.配置
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
6.编译:make 这个时间有点长
7.安装:make install
8.验证:gcc -v
2、问题:/home/czp/node-v6.9.5/out/Release/mksnapshot: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/czp/node-v6.9.5/out/Release/mksnapshot)
/home/czp/node-v6.9.5/out/Release/mksnapshot: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/czp/node-v6.9.5/out/Release/mksnapshot)
make[1]: *** [/home/czp/node-v6.9.5/out/Release/obj.target/v8_snapshot/geni/snapshot.cc] 错误 1
make[1]: Leaving directory `/home/czp/node-v6.9.5/out'
make: *** [node] 错误 2
//绿色的字为错位的所在
解决方法:
1、查看 GLIBCXX 版本:
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
(我的系统是64bit的所以lib64,如果是32bit的直接lib)
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
查看版本发现并没有GLIBCXX_3.4.15和GLIBCXX_3.4.20
2、执行命令,查找编译 gcc 时生成的最新动态库:
find / -name “libstdc++.so.6”
/usr/lib64/libstdc++.so.6
/usr/local/lib64/libstdc++.so.6
/home/czp/gcc-4.9.1/gcc-build-4.9.1/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/home/czp/gcc-4.9.1/gcc-build-4.9.1/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/home/czp/gcc-4.9.1/gcc-build-4.9.1/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
3、将上面的最新动态库 libstdc++.so.6 复制到 /usr/lib64 目录下:(就是最后一个)
cp /home/czp/gcc-4.9.1/gcc-build-4.9.1/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6 /usr/lib64
4、覆盖之后再次查看下最新动态库
find / -name “libstdc++.so.6”
此时能看到GLIBCXX_3.4.15和GLIBCXX_3.4.20
5、回到 node 目录下尝试重新编译