OpenCLAW 在 CentOS 7 环境下的安装(版本 2026.2.26)

OpenCLAW 在 CentOS 7 环境下的安装(版本 2026.2.26)

OpenCLAW 安装部署文档(CentOS 7 环境)

环境说明

  • 操作系统:CentOS 7
  • glibc 版本:2.17
  • 内核版本:3.10
  • 目标软件:OpenCLAW(版本 2026.2.26)

前置依赖安装

1. 安装 Node.js 22.16.0

步骤1:下载安装包

​ # 创建临时下载目录(可选) mkdir -p /usr/local/src/nodejs && cd /usr/local/src/nodejs ​ # 下载适配 glibc 2.17 的 Node.js 包 wget https://unofficial-builds.nodejs.org/download/release/v22.16.0/node-v22.16.0-linux-x64-glibc-217.tar.gz ​ # 校验包完整性(可选,需提前获取sha256值) # sha256sum node-v22.16.0-linux-x64-glibc-217.tar.gz

步骤2:解压并配置环境变量

​ # 解压到指定目录 tar -zxf node-v22.16.0-linux-x64-glibc-217.tar.gz -C /opt/local/ ​ # 创建软链接(方便版本切换) ln -s /usr/local/node-v22.16.0-linux-x64-glibc-217 /usr/local/nodejs ​ # 配置环境变量(临时生效) export PATH=/usr/local/nodejs/bin:$PATH ​ # 配置环境变量(永久生效) echo 'export PATH=/usr/local/nodejs/bin:$PATH' >> /etc/profile source /etc/profile

步骤3:验证安装

​ node -v  # 预期输出:v22.16.0 npm -v   # 验证npm是否正常

2. 安装 CMake 3.28.3

步骤1:下载安装包

​ mkdir -p /usr/local/src/cmake && cd /usr/local/src/cmake ​ # 下载CMake二进制包 wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3-linux-x86_64.tar.gz

步骤2:解压并配置环境变量

​ # 解压到指定目录 tar -zxf cmake-3.28.3-linux-x86_64.tar.gz -C /usr/local/ ​ # 创建软链接 ln -s /usr/local/cmake-3.28.3-linux-x86_64 /usr/local/cmake ​ # 配置环境变量 export PATH=/usr/local/cmake/bin:$PATH echo 'export PATH=/usr/local/cmake/bin:$PATH' >> /etc/profile source /etc/profile

步骤3:验证安装

​ cmake --version  # 预期输出:cmake version 3.28.3

3. 配置 npm 镜像(加速依赖下载)

​ # 设置国内镜像源 npm config set registry https://registry.npmmirror.com ​ # 验证配置 npm config get registry  # 预期输出:https://registry.npmmirror.com

4. 升级 GCC 到 9.x 版本(OpenCLAW 编译依赖)

步骤1:配置 SCL 源(解决 CentOS 7 官方源 GCC 版本过低问题)

​ # 创建 SCLo-scl 源配置文件 cat > /etc/yum.repos.d/CentOS-SCLo-scl.repo << EOF [centos-sclo-sclo] name=CentOS-7 - SCLo sclo baseurl=http://vault.centos.org/centos/7/sclo/x86_64/sclo/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo enabled=1 EOF ​ # 创建 SCLo-rh 源配置文件 cat > /etc/yum.repos.d/CentOS-SCLo-rh.repo << EOF [centos-sclo-rh] name=CentOS-7 - SCLo rh baseurl=http://vault.centos.org/centos/7/sclo/x86_64/rh/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo enabled=1 EOF

步骤2:导入 GPG 密钥并刷新 yum 缓存

​ # 下载并导入密钥 curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo https://vault.centos.org/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7 rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo ​ # 清理并重建 yum 缓存 yum clean all && yum makecache

步骤3:安装 GCC 9 及依赖工具

​ # 安装 devtoolset-9 套件(包含 GCC 9) yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils scl-utils ​ # 临时启用 GCC 9(当前会话生效) scl enable devtoolset-9 bash ​ # 永久启用 GCC 9(所有会话生效) echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile source /etc/profile

步骤4:验证 GCC 版本

​ gcc --version  # 预期输出:gcc (GCC) 9.x.x g++ --version  # 验证 g++ 版本

OpenCLAW 核心安装

1. 执行官方安装脚本

​ # 定义版本号并执行安装脚本 export OPENCLAW_VERSION=2026.2.26 curl -fsSL https://openclaw.ai/install.sh | bash ​ # 检查安装脚本执行结果(非零则说明安装失败) if [ $? -ne 0 ]; then    echo "OpenCLAW 安装脚本执行失败,请检查日志!"    exit 1 fi

2. 配置 DBUS 环境变量(解决服务启动依赖)

​ # 写入 bash 配置文件(永久生效) echo "export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket" >> ~/.bashrc ​ # 立即生效配置 source ~/.bashrc ​ # 验证环境变量 echo $DBUS_SESSION_BUS_ADDRESS  # 预期输出:unix:path=/run/dbus/system_bus_socket

3. 配置系统服务(设置开机自启)

​ # 复制服务文件到系统服务目录 cp /root/.config/systemd/user/openclaw-node.service /usr/lib/systemd/system/ ​ # 重新加载系统服务配置 systemctl daemon-reload ​ # 设置开机自启 systemctl enable openclaw-node ​ # 验证服务状态(可选) systemctl is-enabled openclaw-node  # 预期输出:enabled

4. 安装并配置 OpenCLAW Node 服务

​ # 安装 Node 服务并指定端口(18790) openclaw node install --port 18790 ​ # 启动服务(补充原文档缺失步骤) systemctl start openclaw-node ​ # 验证服务启动状态 systemctl status openclaw-node  # 预期输出:active (running)

系统环境优化

1. 时间同步(避免证书/签名验证失败)

​ # 安装 ntp 工具(若未安装) yum install -y ntpdate ​ # 同步时间(使用亚洲时区 NTP 服务器) ntpdate 0.asia.pool.ntp.org ​ # 设置定时同步(可选,添加到 crontab) echo "*/30 * * * * /usr/sbin/ntpdate 0.asia.pool.ntp.org > /dev/null 2>&1" >> /var/spool/cron/root service crond restart

2. 配置端口转发(远程访问 Node 服务)

​ # 建立 SSH 隧道(将本地 18790 端口转发到 192.168.11.179 的 18789 端口) # 说明:-N 不执行远程命令,-L 本地端口转发,需保持终端运行(可加 -f 后台运行) ssh -N -L -f 18790:127.0.0.1:18789 [email protected] ​ # 可选:配置 SSH 免密登录(避免每次输入密码) # ssh-copy-id [email protected]

参考文档


总结

  1. 核心依赖:需先安装 Node.js 22.16.0(适配 glibc 2.17)、CMake 3.28.3、GCC 9.x,且必须配置国内 npm 镜像加速下载;
  2. 关键配置:安装后需配置 DBUS 环境变量、系统服务自启,并通过时间同步避免服务异常;
  3. 访问方式:通过 SSH 端口转发实现远程访问 OpenCLAW Node 服务(端口 18790),建议配置免密登录提升易用性。

Read more

Flutter 组件 powersync_attachments_helper 的适配 鸿蒙Harmony 实战 - 驾驭分布式附件同步、实现鸿蒙端大文件离线存储与生命周期自动化管理方案

Flutter 组件 powersync_attachments_helper 的适配 鸿蒙Harmony 实战 - 驾驭分布式附件同步、实现鸿蒙端大文件离线存储与生命周期自动化管理方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 powersync_attachments_helper 的适配 鸿蒙Harmony 实战 - 驾驭分布式附件同步、实现鸿蒙端大文件离线存储与生命周期自动化管理方案 前言 在鸿蒙(OpenHarmony)生态的分布式多媒体协作、工业设备故障图片上报以及需要频繁处理大量音频/视频附件的专业级应用开发中,“非结构化数据与 SQL 逻辑的一致性同步”是决定应用能否在大规模复杂场景下存活的技术深水区。面对一条已经同步成功的“设备巡检记录”。如果其关联的“高清故障原图”因为同步时机错位、由于存储空间不足导致的本地缓存被回收,或者是在鸿蒙手机与平板之间由于同步策略不同步导致的文件路径失效。那么不仅会导致用户在查看详情时看到令人沮丧的“附件丢失”占位图,更会严重削弱政务类资产审计的底层严密性。 我们需要一种“逻辑关联、物理对齐”的附件治理艺术。 powersync_attachments_helper 是一套专为 PowerSync 设计的附件同步

By Ne0inhk
Flutter 组件 ansi_text 适配鸿蒙 HarmonyOS 实战:终端色彩渲染,构建高性能 ANSI 日志高亮与命令行交互架构

Flutter 组件 ansi_text 适配鸿蒙 HarmonyOS 实战:终端色彩渲染,构建高性能 ANSI 日志高亮与命令行交互架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 ansi_text 适配鸿蒙 HarmonyOS 实战:终端色彩渲染,构建高性能 ANSI 日志高亮与命令行交互架构 前言 在鸿蒙(OpenHarmony)生态迈向工业级运维、涉及大量后台守护进程(Daemon)、系统日志审计及开发者工具链(CLI)开发的背景下,如何为枯燥的纯文本终端注入具备视觉层级的色彩与样式,已成为提升调试效率与故障定位速度的“视觉助推器”。在鸿蒙设备这类强调 AOT 极致性能与低级别 shell 交互的环境下,如果应用依然依赖基础的单色字符串输出日志,由于由于信息流极其庞大且缺乏重点,极易由于由于“视觉疲劳”导致关键系统警告或业务异常被淹没在海量数据中。 我们需要一种能够支持 ANSI 转义序列、具备富文本样式(加粗/背景色)且兼容多种终端模拟器的文本渲染方案。 ansi_text 为 Flutter 开发者引入了基于标准

By Ne0inhk
Java 中间件:Dubbo 服务降级(Mock 机制)

Java 中间件:Dubbo 服务降级(Mock 机制)

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕Java中间件这个话题展开,希望能为你带来一些启发或实用的参考。 🌱 无论你是刚入门的新手,还是正在进阶的开发者,希望你都能有所收获! 文章目录 * Java 中间件:Dubbo 服务降级(Mock 机制) * 什么是服务降级? * Dubbo Mock 机制简介 * Mock 的触发条件 * Dubbo Mock 的配置方式 * 1. XML 配置方式 * 2. 注解配置方式(推荐) * 3. 自定义 Mock 类 * 4. 强制 Mock(force) * Mock 机制的工作原理 * 实战案例:电商系统中的服务降级 * 场景描述 * 1. 定义服务接口 * 2. 实现

By Ne0inhk