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

11张思维导图带你快速学习java

11张思维导图带你快速学习java

博主主页:【南鸢1.0】 本文专栏:JAVA 本文目录 简介 1.Java SE 编辑 2.Java Web 3.MySQL 编辑 4.前端技术 5.Linux 6.Spring SpringMvc mybatis 7.JVM 8.Springboot 9.Vue 10.SpringCloud 11.常用中间件 总结 简介 Java是一种跨平台的编程语言,广泛应用于开发各种类型的应用程序。从零开始学习Java可能会感到困惑,因为Java拥有广泛的功能和概念。为了更好地学习和理解Java,可以使用思维导图来整理和归纳Java的主要概念和特点。思维导图可以帮助学习者更好地理解Java,并将其各个方面组织起来,以便更容易地回顾和复习。 1.Java SE 常用工具介绍

By Ne0inhk
Java:关于哈希表

Java:关于哈希表

目录 哈希表 概念 冲突 负载因子调节 冲突的解决 哈希桶的实现 完整代码 哈希表 概念 哈希表是一种理想的从顺序表以及平衡树中查找元素的方式,它可以不经过任何比较,一次直接从表中得到想要搜索的元素。如果构造一种存储结构,通过某种函数使元素的存储位置与它的关键码之间能够建立一一映射的关系,那么在查找时通过该函数可以很快找到该元素。 * 插入元素:根据待插入元素的关键码,根据函数计算出存储位置并进行存放 * 搜索元素:对元素的关键码进行计算,把求得的数据当作元素的存储位置,在结构中按此位置取元素比较,若关键码相等,则搜索成功 该种方法即为哈希(散列)方法,哈希方法中使用的转换函数称为哈希(散列)函数,构造出来的结构称为哈希表 例如:数据集合{1,7,6,4,5,9}; 哈希函数设置为:hash(key) = key % capacity; capacity为存储元素底层空间总的大小。 上面这种存放元素的方式,不用多次进行关键码的比较,搜索速度比较快,但是上面所取的集合只是一个普通情况,

By Ne0inhk
Java计算机毕设之基于Springboot的就业管理系统的设计与实现基于springboot的龙岗区在线就业推荐平台的设计与实现(完整前后端代码+说明文档+LW,调试定制等)

Java计算机毕设之基于Springboot的就业管理系统的设计与实现基于springboot的龙岗区在线就业推荐平台的设计与实现(完整前后端代码+说明文档+LW,调试定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围::小程序、SpringBoot、SSM、JSP、Vue、PHP、Java、python、爬虫、数据可视化、大数据、物联网、机器学习等设计与开发。 主要内容:免费开题报告、任务书、全bao定制+中期检查PPT、代码编写、🚢文编写和辅导、🚢文降重、长期答辩答疑辅导、一对一专业代码讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。 特色服务内容:答辩必过班 (全程一对一技术交流,帮助大家顺利完成答辩,小白必选) 全网粉丝50W+,累计帮助2000+完成优秀毕设 🍅文末获取源码🍅 感兴趣的可以先收藏起来,还有大家在毕设选题,

By Ne0inhk
飞算JavaAI赋能企业级电商管理系统开发实践——一位资深开发者的技术选型与落地总结

飞算JavaAI赋能企业级电商管理系统开发实践——一位资深开发者的技术选型与落地总结

目录 * 一、背景与选型考量 * 二、开发环境与工具适配 * 1. 基础环境搭建 * 2. 飞算JavaAI插件配置 * 3. 版本控制与协作配置 * 三、核心模块设计与实现 * 1. 需求分析与模块拆分 * 2. 核心代码实现与技术亮点 * (1)实体类设计(带审计字段与枚举约束) * (2)服务层实现(带事务控制与业务校验) * (3)控制器实现(带权限控制与参数校验) * (4)网页端 * 四、系统架构与扩展性设计 * 1. 分层架构设计 * 2. 接口设计规范 * 3. 扩展性保障 * 五、资深开发者视角的工具评价 * 1. 代码规范性与可维护性 * 2. 对企业级业务的理解深度 * 3. 与资深开发者工作流的适配性 * 六、项目成果与经验总结 一、背景与选型考量 作为一名从业20余年的开发者,我亲历了从JSP+

By Ne0inhk