源码安装耗时预计要1个小时左右,具体看服务器性能
注意: 安装node环境,不要在线上业务上安装,这个环境安装主要是生成/usr/lib64/libstdc++.so.6动态库,这个文件会影响系统层,libstdc++.so.6文件损坏会导致系统命名都用不了、登录不了,确实要线上业务执行,请在云平台做好快照备份
安装方法,复制下面代码创建个shell脚本,直接运行就可以了
一、编写脚本: mkdir /data/recycle && cd /data/recycle
yum源安装(yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils)gcc会缺少lib库(/data/apps/gcc/lib64),会报错,所以只能源码安装gcc
bash
cat > install_node_environment.sh <<'EOF'
#!/usr/bin/env bash
# 切换到执行脚本的目录里
cd $(dirname $0)
bash_dir=$(pwd)
# 安装gcc工具的依赖包
yum -y install gmp-devel mpfr-devel libmpc-devel gcc gcc-c++ wget lbzip2 unzip
[[ $? -ne 0 ]] && echo "gcc安装依赖包失败" && exit 1
# 下载gcc软件包
[[ -s gcc-8.5.0.tar.gz ]] || wget https://ftp.gnu.org/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.gz --no-check-certificate
[[ $? -ne 0 ]] && echo "下载gcc软件包失败" && exit 1
tar -zxf gcc-8.5.0.tar.gz
[[ $? -ne 0 ]] && echo "解压gcc软件包失败" && exit 1
mkdir -p /data/apps/gcc gcc_build && cd gcc_build
[[ $? -ne 0 ]] && echo "切换目录失败" && exit 1
../gcc-8.5.0/configure --disable-multilib --enable-languages=c,c++ --prefix=/data/apps/gcc
[[ $? -ne 0 ]] && echo "gcc生成编译文件失败" && exit 1
make -j $(nproc)
[[ $? -ne 0 ]] && echo "gcc编译源代码,生成可执行文件失败" && exit 1
make install
[[ $? -ne 0 ]] && echo "gcc文件安装失败" && exit 1
if [[ -n $LD_LIBRARY_PATH ]]; then
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/apps/gcc/lib64' >> /etc/profile
else
echo 'export LD_LIBRARY_PATH=/data/apps/gcc/lib64' >> /etc/profile
fi
yum -y remove gcc gcc-c++
[[ $? -ne 0 ]] && echo "卸载旧版本gcc失败" && exit 1
ln -sf /data/apps/gcc/bin/gcc /usr/bin/ && ln -sf /data/apps/gcc/bin/g++ /usr/bin/
[[ $? -ne 0 ]] && echo "gcc命令替换失败" && exit 1
# 加载环境
source /etc/profile
cd $bash_dir
[[ -s make-4.3.tar.gz ]] || wget http://ftp.gnu.org/gnu/make/make-4.3.tar.gz
[[ $? -ne 0 ]] && echo "下载make软件包失败" && exit 1
tar zxf make-4.3.tar.gz
[[ $? -ne 0 ]] && echo "解压make软件包失败" && exit 1
cd make-4.3/ && ./configure --prefix=/data/apps/make
[[ $? -ne 0 ]] && echo "make生成编译文件失败" && exit 1
make -j $(nproc)
[[ $? -ne 0 ]] && echo "make编译源代码,生成可执行文件失败" && exit 1
make install
[[ $? -ne 0 ]] && echo "make文件安装失败" && exit 1
\cp /data/apps/make/bin/make $(which make)
[[ $? -ne 0 ]] && echo "make命令替换失败" && exit 1
yum -y install bison bison-devel
[[ $? -ne 0 ]] && echo "glibc安装依赖包失败" && exit 1
cd $bash_dir
[[ -s glibc-2.28.tar.gz ]] || wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
[[ $? -ne 0 ]] && echo "下载glibc软件包失败" && exit 1
tar zxf glibc-2.28.tar.gz
[[ $? -ne 0 ]] && echo "解压glibc软件包失败" && exit 1
mkdir glibc_build && cd glibc_build
../glibc-2.28/configure \
--prefix=/usr \
--disable-werror \
--enable-add-ons \
--with-headers=/usr/include \
--with-binutils=/usr/bin \
--disable-tests
[[ $? -ne 0 ]] && echo "glibc生成编译文件失败" && exit 1
make -j $(nproc)
[[ $? -ne 0 ]] && echo "glibc编译源代码,生成可执行文件失败" && exit 1
make install
[[ $? -ne 0 ]] && echo "glibc文件安装失败" && exit 1
EOF
二、执行安装:
bash
sh install_node_environment.sh
source /etc/profile
遇到这种报错可以忽略

三、执行更新语言包,不然会像这样报错和打开文件会乱码: cd /data/recycle/glibc_build && make localedata/install-locales

安装node
根据实际情况修改版本号就可以了
安装方法,复制下面代码创建个shell脚本,直接运行就可以了
一、安装node环境: cd /data/recycle
bash
cat > install_node_environment.sh <<'EOF'
#!/usr/bin/env bash
# 切换到执行脚本的目录里
cd $(dirname $0)
bash_dir=$(pwd)
# 修改node版本号
node_version=22.19.0
[[ -s node-v${node_version}-linux-x64.tar.xz ]] && wget https://nodejs.org/dist/v${node_version}/node-v${node_version}-linux-x64.tar.xz
[[ $? -ne 0 ]] && echo "下载node软件包失败" && exit 1
tar xf node-v${node_version}-linux-x64.tar.xz
[[ $? -ne 0 ]] && echo "解压node软件包失败" && exit 1
mv node-v${node_version}-linux-x64 /data/apps/nodejs
[[ $? -ne 0 ]] && echo "移动node到软件管理目录失败" && exit 1
cat > /etc/profile.d/nodejs_home.sh <<'node_eof'
export NODEJS_HOME=/data/apps/nodejs
export PATH=$PATH:$NODEJS_HOME/bin
node_eof
[[ $? -ne 0 ]] && echo "node环境变量配置失败" && exit 1
EOF
二、安装node: sh install_node.sh
三、加载环境: source /etc/profile
四、测试: node -v

