当前位置: 首页 > news >正文

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

问题:安装高版本 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-alpinecontainer_name: node_package_22restart: '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
http://www.xdnf.cn/news/1443637.html

相关文章:

  • 京东商品评论API接口概述,json数据返回
  • 51单片机:发光二极管与动态数码管控制
  • 迅为RK3568开发板体验OpenHarmony—烧写镜像-安装驱动
  • dumpsys alarm 简介
  • 关于kafka:consumer_offsets日志不能自动清理,设置自动清理规则
  • Trae x Vizro:低代码构建专业数据可视化仪表板的高效方案
  • 小迪web自用笔记25
  • 年成本下降超80%,银行数据治理与自动化应用实录
  • DS1202示波器的使用教程笔记
  • 【C++八股文】数据结构篇
  • 【Python-Day 42】解锁文本处理神技:Python 正则表达式 (Regex) 从入门到实战
  • FPGA离群值剔除算法
  • wpf 自定义输入ip地址的文本框
  • Linux之shell-awk命令详解
  • Jenkins 可观测最佳实践
  • Jenkins和Fastlane的原理、优缺点、用法、如何选择
  • 记录一下node后端写下载https的文件报错,而浏览器却可以下载。
  • nginx配置端口转发(docker-compose方式、包括TCP转发和http转发)
  • C++ 面试高频考点 力扣 162. 寻找峰值 二分查找 题解 每日一题
  • Apache Kafka:现代数据高速公路的设计哲学
  • 嵌入式硬件 - 51单片机2
  • (11)用于无GPS导航的制图师SLAM(二)
  • AI产品经理面试宝典第84天:RAG系统架构设计与优化策略面试指南
  • C#工作流示例(WorkflowCore)
  • 基于Docker和Kubernetes的CI/CD流水线架构设计与优化实践
  • Go语言实战案例-Redis实现用户登录次数限制
  • 基于单片机车内换气温度检测空气质量检测系统Proteus仿真(含全部资料)
  • 02-Media-3-audio.py 音频输入输出,录音、播放、实时回放演示
  • 在 Android MVVM 架构中,获取 ViewModel 的几种方式
  • 微服务的编程测评系统20-虚拟机-nginx-部署