node高版本安装

源码安装耗时预计要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

相关推荐
人工智能训练2 小时前
Ubuntu 系统安装 VSCode 超全指南(3 种方法,适配 20.04/22.04 LTS)
linux·运维·服务器·vscode·ubuntu
facaixxx20242 小时前
GPU算力租赁:3080Ti、Tesla P40和RTX40服务器配置整理
运维·服务器·gpu算力
bing_feilong2 小时前
ubuntu网络命令详解
linux·运维·网络
神算大模型APi--天枢6462 小时前
国产大模型后端开发与部署实战:从算力架构到行业规模化落地
大数据·运维·服务器·人工智能·架构
tmj012 小时前
前端JavaScript(浏览器)与后端JavaScript(Node.js)
javascript·node.js
2301_767902642 小时前
Docker 从入门到实战
运维·docker·容器
天呐草莓2 小时前
企业微信运维手册
java·运维·网络·python·微信小程序·企业微信·微信开放平台
无法无天霸王龙2 小时前
云计算运维培训:线上课 vs 面授课,到底该怎么选?
运维·云计算
是阿威啊2 小时前
【第五站】集群组件一键启动/关闭脚本(Hadoop/YARN + Hive + Spark)
linux·运维·hive·hadoop·spark