前端自动化打包服务器无法安装高版本 Node.js v22 问题解决

发布于:2025-09-04 ⋅ 阅读:(19) ⋅ 点赞:(0)

问题:安装高版本 node,报错。

在这里插入图片描述

具体表现

当执行 node -v 命令时,系统提示多个 GLIBC_xxx 版本未找到,比如 GLIBCXX_3.4.21、GLIBC_2.27 等,这些是 node 程序运行所依赖的 Glibc 库的特定版本符号,当前系统安装的 Glibc 版本不满足 node 的要求,导致 node 无法正常运行。

可能的解决思路

  1. 升级系统 Glibc 版本:不过 Glibc 是系统核心库,升级操作风险较高,若操作不当可能导致系统不稳定甚至崩溃,需谨慎操作,且要确保升级的版本与系统其他组件兼容。
  2. 使用兼容的 Node.js 版本:查看当前系统 Glibc 版本(可通过 ldd --version 等命令查看),然后选择与该 Glibc 版本兼容的 Node.js 版本重新安装。
  3. 利用容器技术:如果系统环境较难调整,可使用 Docker 等容器技术,在容器内部配置满足 Node.js 运行要求的环境,将 Node.js 应用部署在容器中运行,避免与宿主系统的库版本冲突。

最终还是选择保守治疗,在 docker 容器内进行打包。

docker-compose.yml

version: '3'
services:
  node_package_22:
    image: node:22.18.0-alpine
    container_name: node_package_22
    restart: 'no'
    volumes: 
        - ./code:/code
        - ./dist:/code/dist
        - ./sh:/sh/
    command: sh /sh/run.sh

run.sh

cd /code

# 更换源
npm config set registry https://registry.npmmirror.com

# 安装 pnpm
npm install pnpm -g

# 设置镜像源(可忽略)
pnpm config set registry https://registry.npmmirror.com

# 安装依赖
pnpm install

# 项目打包
pnpm run build

自动化部署

这里将 DevOps 服务器编译的步骤放在了程序运行的服务器上了。
在这里插入图片描述
在这里插入图片描述

# 开始使用 docker 打包
cd /home/devops/node-package-22.18.0
chmod -R 777 /home/devops/node-package-22.18.0/code
docker-compose down && docker-compose up
# 打包结束


# 包复制:node 临时目录 -> 前端部署路径
rm -rf /home/halberd/halberd_ui/html/dist/*
cp -rf /home/devops/node-package-22.18.0/dist/* /home/halberd/halberd_ui/html/dist/
rm -rf /home/devops/node-package-22.18.0/dist/*

# 重启服务
chmod -R 777 /home/halberd/halberd_ui/html/dist
cd /home/halberd/halberd_ui
docker-compose down && docker-compose up -d && docker-compose ps

网站公告

今日签到

点亮在社区的每一天
去签到