如果想在CentOS 6 中安装Node.js >4.0,如果通过以往的方式安装:
wget http://nodejs.org/dist/v4.0.0/node-v4.0.0.tar.gz
tar zvxf node-v4.0.0.tar.gz
cd node-v4.0.0
./configure
make && make install
会遇到报错提示:
WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)
提示要更新C++编译器的版本,可以按照以下方式更新(C++更新安装比较耗时,需要耐心等待):
wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz;
tar -zxvf gcc-4.8.2.tar.gz
cd gcc-4.8.2
mkdir build
cd build
yum install gmp-devel mpfr-devel libmpc-devel
../configure --prefix=/usr
make && make install
更新完后,回到node-v4.0.0目录再次执行./configure 和 make && make install
然后执行 node -v 查看Node.js版本,发现报错:
node: /usr/lib64/libstdc++.so.: version `GLIBCXX_3.4.15' not found
回到刚才安装C++时创建的build目录中,cd到一个隐藏得很深的目录
/fe_server/gcc-4.8./build/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
执行以下命令查看GLIBCXX版本是否是满足要求:
strings libstdc++.so.6.0.|grep GLIBCXX
一般来说是能看到GLIBCXX_3.4.15这个版本的。
把libstdc++.so.6.0.18 拷贝到 /usr/lib64的目录
cp libstdc++.so.6.0. /usr/lib64
然后CD 到lib64的目录
cd /usr/lib64
先删除里面libstdc++.so.6,再创建软链接:
ln -s libstdc++.so.6.0. libstdc++.so.
然后再试试node -v ,如果不出意外,可以看到Node.js的版本号,说明安装成功。