CentOS7.4安装新版node.js过程记录整理

本站所有文章均为博主人工写作,绝无AI辅助成分,请放心参阅。

发现阿里云的云主机可以按最短一周时常购买了,以后做测试环境,花点小钱买台短期主机做测试的成本又降低了(虽然ECS总体还是涨价了)。这次想尝试一下在最新的CentOS下安装node.js会不会踩坑,于是开干。

在失败了多次,东拼西凑了很多文章和教程后,终于把nodejs(8.7.0)给装上了,下面整理所用命令行以及过程。

安装开发必备环境

yum groupinstall "Development Tools"
yum install glibc-static libstdc++-static

安装适合版本的gcc(CentOS7.4自带4.8.5版的gcc,但是当前版本nodejs需要4.9.4以上版本,所以需要升级gcc,这是一个坑)
先下载

cd /usr/local/src
wget https://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2

解压(解压前先安装bzip2压缩工具)

yum -y install bzip2
tar -jxvf gcc-5.4.0.tar.bz2

编译安装(make大约需要一个多小时)

cd gcc-5.4.0
./contrib/download_prerequisites
mkdir build
cd build
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make

安装

make install

编译完毕后,如果直接安装node,还是会报错(又是一个坑)。应该先把升级的动态库手动复制的过来并且软连接指向最新动态库

find / -name "libstdc++.so*"
cp /usr/local/src/gcc-5.4.0/build/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.21 /usr/lib64
cd /usr/lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6

重启主机,检查gcc是否升级

gcc -v

得到以上反馈后就可以放心的安装node了

下载解压node

cd /usr/local/src
wget https://npm.taobao.org/mirrors/node/v8.7.0/node-v8.7.0.tar.gz
tar xvf node-v8.7.0.tar.gz

编译(半个多小时)

cd node-v8.7.0
./configure
make

安装

make install

总结一下踩过的坑:
1. 必须升级GCC,网上教程提的最多的是5.4.0,我也是编译这一版安装成功。尝试安装更新版的GCC编译没有成功,原因未知(看不懂报错信息…);
2. 必须更新动态库,手动复制文件libstdc++.so.6.0.21并更新软链接;
3. 尝试安装更新版本的nodejs比如8.11.3,编译还是失败。安装8.7.0则成功,原因还是不清楚…
4. 网上各种博客教程是有很多了,但是无一完整,全部有错…是的,我没说错,浪费了很多时间。本文基于阿里云CentOS7.4镜像安装成功,也不代表在别的Linux系统能安装成功,完全是一次瞎子式的摸索。

问了有经验的朋友,其实自己编译并没有太多好处,尤其是在自己对系统没有深入了解的情况下。下次根据官方指引安装吧…

本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.brain1981.com/1904.html。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

关注我们的微信公众号-JennyStudio 本站记录了近几年的工作中遇到的一些技术问题和解决过程,“作品集”还收录了本人的大部分作品展示。除了本博客外,我们的工作室网站 – JennyStudio,内有更多作品回顾和展示。
您也可以扫描左边的二维码,关注我们的微信公众号,在微信上查看我们的案例。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注