nodejs——CentOS 7.3下安装nodejs v8.11.1

新的服务器,安装nodejs。
nodejs安装的三种方法:http://www.jb51.net/LINUXjishu/284839.html
采用源码安装了。
1、去官网看了下稳定的版本

nodejs——CentOS 7.3下安装nodejs v8.11.1_第1张图片
image.png

本来想用wget直接下载:
wget https://nodejs.org/dist/v8.11.1/node-v8.11.1.tar.gz
额,,有点慢,
只好网页下载好,传上去,放到 /usr/local/src/目录下。
2、解压
tar -xzvf node-v8.11.1.tar.gz
进入 node-v8.11.1目录下
./configure
3、**报错: C++ compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++)
**办法:老老实实更新
由于网慢手动下载 gcc-7.3.0.tar.gz上传到 /usr/local/src/目录下,解压后,进入目录
*这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力
./contrib/download_prerequisites
建立输出目录,将所有的中间文件都放到该目录,

mkdir gcc_temp
cd gcc_temp
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make
make install

编译很慢,将近两个小时,,
然后重启reboot,查看版本
gcc -v

nodejs——CentOS 7.3下安装nodejs v8.11.1_第2张图片
image.png

*我出现了重启后版本没变化,可能因为直接 make & make install,我再次 make install后重启,就好了
4、升级gcc,生成的动态库没有替换老版本gcc的动态库
报如下错误,

/usr/local/src/node-v8.7.0/out/Release/mksnapshot: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/src/node-v8.7.0/out/Release/mksnapshot)
/usr/local/src/node-v8.7.0/out/Release/mksnapshot: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/src/node-v8.7.0/out/Release/mksnapshot)

运行以下命令检查动态库:
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
执行以下命令,查找编译gcc时生成的最新动态库:
find / -name "libstdc++.so*"

nodejs——CentOS 7.3下安装nodejs v8.11.1_第3张图片
image.png

*没有6.0.20、6.0.21,直接更新到24,,,20,21,22,23就都有了!
可以看到,最新动态库libstdc++.so.6.0.24,将其复制到 /usr/lib64目录下
cp /root/Downloads/gcc-6.1.0/gcc-build-6.1.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 /usr/lib64
删除原来软连接:
rm -rf /usr/lib64/libstdc++.so.6
将默认库的软连接指向最新动态库:
ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6
可以再次检查动态库
strings /usr/lib64/libstdc++.so.6 | grep GLIBC

5、最后,再次编译安装nodejs


image.png

6、激动的想哭。。。

你可能感兴趣的:(nodejs——CentOS 7.3下安装nodejs v8.11.1)