如果想在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.6: version `GLIBCXX_3.4.15' not found
回到剛才安裝C++時創建的build目錄中,cd到一個隱藏得很深的目錄
/fe_server/gcc-4.8.2/build/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
執行以下命令查看GLIBCXX版本是否是滿足要求:
strings libstdc++.so.6.0.18|grep GLIBCXX
一般來說是能看到GLIBCXX_3.4.15這個版本的。
把libstdc++.so.6.0.18 拷貝到 /usr/lib64的目錄
cp libstdc++.so.6.0.18 /usr/lib64
然后CD 到lib64的目錄
cd /usr/lib64
先刪除里面libstdc++.so.6,再創建軟鏈接:
ln -s libstdc++.so.6.0.18 libstdc++.so.6
然后再試試node -v ,如果不出意外,可以看到Node.js的版本號,說明安裝成功。