cover-image 由于 node4.0+ 升级了 v8 的版本, 所以需要 C++11 以上的compiler支持, 也就是 gcc 4.8 以上.

可能装二进制包的 nodejs 没有问题, 但是在遇到编译 c++ 模块的时候, 就会报错了.

Cent

cent6 自带的gcc版本是4.4.7, 不过可以使用red hat出的devtoolset-3(其实这是一套, 有1,2 现在版本是3, 参照官方教程即可)升级gcc到4.8+, 使用yum可以直接搞定.

方法如下
使用 root 账号登陆或 sudo

rpm -ivh https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/epel-6-x86_64/download/rhscl-devtoolset-3-epel-6-x86_64.noarch.rpm

yum install devtoolset-3-gcc-c++  
#devtoolset-3-gcc会被作为依赖安装

安装完毕后使用命令临时切换gcc版本'

scl enable devtoolset-3 bash  
gcc -v #可以看到版本已经更新  

如果需要永久覆盖, 可以

echo "source /opt/rh/devtoolset-3/enable" >> /etc/bashrc  

重新登陆terminal生效

Ubuntu

ubuntu的话, 我自己使用的 12.04.4LTS, 自带gcc4.6, 升级方法如下

1.添加PPA源

add-apt-repository ppa:ubuntu-toolchain-r/test  

2.update

apt-get update  

3.装

apt-get install g++-4.8  
export CXX="g++-4.8"  

4.查看gcc版本

gcc -v  

5.如果是4.8+那就ok了, 如果不是, 应该是符号链接没有替换

ll /usr/bin/gcc*  

如果看到gcc -> gcc-4.6是符号链接没有替换

rm gcc  
ln -s gcc-4.8 gcc  
rm g++  
ln -s g++-4.8 g++  

搞定

扫描二维码,分享此文章

Ling.'s Picture
Ling.

Web开发者. 前端,NodeJS 😈 大三, 找实习啦 ⬇️戳简历⬇️