安装了nodejs 5.0之后,node-gyp编译各种东西都报错,被逼无奈必须想办法安装到gcc 4.8以上。以下搬运下一位国外老兄的文章,按照步骤做完美解决问题。
1 |
sudo vim /etc/apt/sources.list |
把内容替换为
1 2 3 4 5 6 7 8 |
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi deb http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi # Source repository to add deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi deb http://archive.raspbian.org/raspbian jessie main contrib non-free rpi # Source repository to add deb-src http://archive.raspbian.org/raspbian jessie main contrib non-free rpi |
添加preferences文件
1 |
sudo vim /etc/apt/preferences |
插入下列文本
1 2 3 4 5 6 7 8 9 |
Package: * Pin: release n=wheezy Pin-Priority: 900 Package: * Pin: release n=jessie Pin-Priority: 300 Package: * Pin: release o=Raspbian Pin-Priority: -10 |
更新apt包
1 |
sudo apt-get update |
从jessie仓库中安装 gcc/g++ 4.8
1 |
sudo apt-get install -t jessie gcc-4.8 g++-4.8 |
移除 gcc/g++ 版本选择配置 (默认没有其他版本选择,这里执行移除操作是以防万一)
1 2 |
sudo update-alternatives --remove-all gcc sudo update-alternatives --remove-all g++ |
安装并更新gcc 4.8到gcc可选版本
1 2 3 4 |
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50 |
现在gcc已经默认指向gcc 4.8。使用下列命令来验证
1 |
sudo gcc --version |
如果你想切换gcc默认版本,可以执行下列命令
1 2 |
sudo update-alternatives --config gcc sudo update-alternatives --config g++ |
现在node-gyp可以正常运作了~