OpenClaw 源码安装(Linux+MAC)、自启动与基础配置手册 (小白必读 带避坑经验总结)

        本文涵盖环境准备、源码安装、自启动配置与基础配置要素说明,以及可能遇到的问题总结,适合喜欢全盘掌控自己管理程序安装的小伙伴,其中包含mac和Linux系统操作说明。

        注:如果是想快速尝鲜可以不考虑各类工具安装位置和环境变量配置,直接命令安装即可,本文不赘述,基本自行命令安装 Node.js ≥ 22   +   Git   即可  核心安装和初始化命令:

# 一键快速安装 Linux 和 macOS 一样 curl -fsSL https://openclaw.ai/install.sh | bash # 使用国内加速镜像 curl -fsSL https://cdn.jsdelivr.net/gh/1186258278/openclawchinesetranslation@main/install.sh | bash # 一键脚本安装后通常会自动启动 openclaw onboard --install-daemon 

零、环境准备(用户目录 + 统一环境变量)

        建议将 Node、Git、pnpm、Python 等安装在用户目录下,并通过统一的环境变量文件管理 PATH 与 OpenClaw 相关变量,以便控制权限和影响范围,避免污染系统路径、便于全局把控与排查。

0.1 约定目录结构(示例)

在用户目录下单独划一块“运行时/工具”目录,例如:

```text ~/Applications/ # 或 ~/.local、~/openclaw-env 等,任选其一统一即可 ├── node/ # Node.js 安装目录 ├── git/ # 可选:Git 独立安装 ├── pnpm/ # 可选:pnpm 独立安装时的 store 等 └── python/ # 可选:Python 运行时(部分插件/构建可能用到) ```

OpenClaw 运行数据与日志单独放到一个“数据目录”,便于备份与排错:

```text ~/openclaw-data/ # 由 OPENCLAW_STATE_DIR 指定 ├── openclaw.json # 或由 OPENCLAW_CONFIG_PATH 指向 ├── logs/ # 统一日志目录(见 0.4、第二节) │ ├── gateway.log # 守护进程 stdout(launchd/systemd 重定向) │ ├── gateway.err.log # 守护进程 stderr │ └── openclaw-YYYY-MM-DD.log # 可选:Gateway 文件日志(JSONL) ├── credentials/ ├── agents/ ├── workspace/ # 或通过 agents.defaults.workspace 指定 └── ... ```

0.2 安装 Node.js(用户目录,≥22)

方式 A:官方二进制解压到用户目录(不依赖 root)

```bash mkdir -p ~/Applications/node cd ~/Applications # 从 https://nodejs.org/ 下载 Linux/macOS 二进制包,解压到 ~/Applications/node # 例如 Linux x64: # curl -sL https://nodejs.org/dist/v22.12.0/node-v22.12.0-linux-x64.tar.xz | tar -xJ -C ~/Applications # mv ~/Applications/node-v22.12.0-linux-x64 ~/Applications/node # macOS ARM64 示例: # curl -sL https://nodejs.org/dist/v22.12.0/node-v22.12.0-darwin-arm64.tar.xz | tar -xJ -C ~/Applications # mv ~/Applications/node-v22.12.0-darwin-arm64 ~/Applications/node export PATH="/Users/OpenClaw/Applications/node/bin:$PATH" node -v # 应 ≥ 22 npm -v ```

方式 B:nvm / fnm(推荐,便于多版本,如果不用多版本不需要安装)

nvm 和通过 nvm 安装的 Node 都在**用户目录**下,不写系统目录、无需 root:

  • nvm 自身:安装在 ~/.nvm/(安装脚本默认即如此)
  • Node版本:通过 nvm install 22 安装的 Node 在 ~/.nvm/versions/node/ 下,由 nvm 统一管理、切换。
# nvm 安装到 ~/.nvm,不写系统目录 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash # 按提示在 ~/.zshrc 或 ~/.bashrc 中加入 nvm 加载脚本,然后: source ~/.zshrc # 或 source ~/.bashrc nvm install 22 nvm use 22 node -v

0.3 安装 Git、pnpm、Python(用户目录或 PATH 优先)

  • Git:若系统已有且版本够用,可直接用;否则可从源码或官方包安装到 ~/Applications/git,并将 ~/Applications/git/bin 加入 PATH。
    • Corepack:pnpm 由 Node 自带的 corepack 管理,可执行文件在当前 Node 的 bin 目录里(与 nodenpm 同目录)。不会自动改你的 shell 配置:需要把 Node 的 bin 目录 加入 PATH(例如解压到 ~/Applications/node 时加 export PATH="$HOME/Applications/node/bin:$PATH"),pnpm 才能用。若 Node 是系统包管理器或 nvm 装的,通常已配好 PATH;若是手动解压 Node,需自己在 ~/.zshrc 里加 Node 的 bin。
    • 独立脚本:默认安装到用户目录(如 ~/.local/share/pnpm),脚本会在安装结束时把 PNPM_HOME 和对应 bin 写入 ~/.zshrc / ~/.bashrc,即会自动配置 PATH;新开终端即可用。
  • Python(可选):部分构建/插件可能需要;可用 pyenv 安装到 ~/.pyenv,或官方安装包指定用户目录,并将 bin 加入 PATH。

pnpm:在已安装 Node 的前提下,用 Corepack 或 独立脚本,均在用户目录下,不写系统目录:

corepack enable corepack prepare pnpm@latest --activate # 或:curl -fsSL https://get.pnpm.io/install.sh | sh -pnpm -v

0.4 统一环境变量文件(控制权限与影响范围)

        在用户目录下建一个仅本机使用的环境变量文件,所有 OpenClaw 与工具链相关变量集中在此,便于自启动与终端一致、全局把控。

        创建并编辑(路径可自定,下面以 ~/.openclaw.env 为例):

# ~/.openclaw.env — OpenClaw 与工具链环境(按需取消注释、修改路径) # 工具链 PATH(用户目录优先,避免动系统) export PATH="HOME/Applications/node/bin:PATH" # 若用 nvm,在 shell 配置里 source nvm 即可,此处可不写 PATH # OpenClaw 状态与配置(统一数据与日志到同一根目录) export OPENCLAWSTATEDIR="{OPENCLAW_STATE_DIR:-HOME/openclaw-data}" export OPENCLAWCONFIGPATH="{OPENCLAW_CONFIG_PATH:-OPENCLAWSTATEDIR/openclaw.json}" # 可选:Gateway 端口、Token 等 # export OPENCLAWGATEWAYPORT=18789 # export OPENCLAWGATEWAYTOKEN="your-token" `

在 shell 配置中加载,使交互式终端与脚本使用同一套环境:

# 写入 /.zshrc (MAC系统) 或/.bashrc (Linux系统) if [ -f "$HOME/.openclaw.env" ]; thenset -a source "$HOME/.openclaw.env" set +a fi 

         之后新开终端即生效;自启动服务也会在下面第二节中通过 EnvironmentFile(systemd)或 EnvironmentVariables(launchd)加载同一文件,保证与终端一致、权限与影响范围可控。

.openclaw.env 与 .zshrc 的使用方式(是否需要每次加载)

方式说明

         ~/.openclaw.env
: 只放环境变量(PATH、OPENCLAWSTATEDIR、OPENCLAWCONFIGPATH 等),供终端与守护进程共用。

         ~/.zshrc(或 /.bashrc):Shell 配置:在这里写 `source/.openclaw.env`,并放补全、OpenClaw 命令补全等;不要把补全或 shell 命令写进 .openclaw.env。



需要每次都手动加载吗?不需要。 每次你新开一个终端,zsh 会自动执行 .zshrc,里面的 source ~/.openclaw.env 会把环境变量加载好,无需再打 source ~/.openclaw.env。守护进程(Gateway):通过 openclaw gateway install 安装后,launchd/systemd 会在进程启动时读取环境(例如从 .openclaw.env),也是自动的。只有这两种情况需要手动执行一次 source ~/.openclaw.env

        在当前已打开的终端里刚改过 .openclaw.env,希望本终端立即生效;

        在脚本里跑 openclaw,且该脚本不会读 .zshrc(例如 cron、某些 CI),需在脚本开头加 source "$HOME/.openclaw.env"



          日常开新终端即可,环境变量会自动带上;改过 .openclaw.env 且想在本终端立刻生效时,再执行一次 source ~/.openclaw.env

0.5 初始化数据目录与统一 logs 目录

首次使用前创建状态目录并统一日志到 logs 子目录(便于排查):

source ~/.openclaw.env # 若尚未在 shell 中加载 mkdir -p "$OPENCLAWSTATEDIR/logs" mkdir -p "$OPENCLAWSTATEDIR/workspace" # 配置文件可在 onboard 时生成,或事先创建空 JSON:echo '{}' > "$OPENCLAWCONFIGPATH" `

        说明: 守护进程(launchd/systemd)会把 Gateway 的 stdout/stderr 重定向到 $OPENCLAW_STATE_DIR/logs/gateway.loggateway.err.log(见第二节)。若还需将 Gateway 的文件日志(JSONL)也落到同一 logs

Read more

Flutter 三方库 dolumns 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致整洁、专业的控制台表格化数据展示

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 dolumns 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致整洁、专业的控制台表格化数据展示 在鸿蒙(OpenHarmony)系统的后台服务开发、系统性能监控工具以及各类 CLI(命令行界面)工具中,如何将杂乱无章的原始数据以整齐划一的“列”形式展现?dolumns 为鸿蒙开发者提供了一个极致精简且强大的文本列对齐引擎。本文将揭示其在鸿蒙生态中的适配实战细节。 前言 什么是文本列对齐?它不是简单的 \t 缩进,而是根据不同内容的真实长度,动态计算并填充间距,确保在鸿蒙终端的字符环境下,多行数据能像 Excel 表格一样完美对齐。dolumns 库凭借其极简的 API 设计和零外部依赖,成为了鸿蒙端 CLI 开发者提升“专业感”的不二之选。 一、原理分析 / 概念介绍 1.1

By Ne0inhk
重构办公体验!HarmonyOS 6.0分布式APP实战:手机+PC打造全场景智能协作工具

重构办公体验!HarmonyOS 6.0分布式APP实战:手机+PC打造全场景智能协作工具

重构办公体验!HarmonyOS 6.0分布式APP实战:手机+PC打造全场景智能协作工具 🔥 开篇直击:当 APP 打破设备边界,办公效率翻倍! 你是否受够了这样的痛点: * 手机拍摄的会议纪要,需通过微信 / U 盘传到 PC 才能编辑,耗时 5 分钟; * 电脑上未完成的报告,出门后只能在手机上重新排版才能继续编辑; * 演讲时,手机翻 PPT、平板看提词、电脑控演示,多设备切换手忙脚乱 —— 而 HarmonyOS 6.0 的分布式 APP,让这一切成为历史! 作为拥有 3600 万终端设备、2200 万用户的鸿蒙生态核心场景,智能办公 APP 正迎来爆发式增长。鸿蒙版 WPS 仅用半年就实现 PC 端下载量破 200

By Ne0inhk
ARM Linux 驱动开发篇---GPIO子系统详解-- Ubuntu20.04

ARM Linux 驱动开发篇---GPIO子系统详解-- Ubuntu20.04

🎬 渡水无言:个人主页渡水无言 ❄专栏传送门: 《linux专栏》   《嵌入式linux驱动开发》《freertos专栏》 ⭐️流水不争先,争的是滔滔不绝  📚博主简介:第二十届中国研究生电子设计竞赛全国二等奖 |国家奖学金 | 省级三好学生 | 省级优秀毕业生获得者 | ZEEKLOG新星杯TOP18 | 半导纵横专栏博主 | 211在读研究生 在这里主要分享自己学习的linux嵌入式领域知识;有分享错误或者不足的地方欢迎大佬指导,也欢迎各位大佬互相三连 目录 前言 一、GPIO 子系统核心定位 二、IMX6ULL 的 GPIO 子系统实战(设备树 + 驱动) 2.1、配置设备树中的 GPIO 2.1.1、pinctrl 配置 2.1.2、在设备节点中指定 GPIO 2.1.3、GPIO 控制器节点

By Ne0inhk

Ubuntu下搜狗输入法无法输入中文的5种解决方案

快速体验 1. 打开 InsCode(快马)平台 https://www.inscode.net 2. 点击'项目生成'按钮,等待项目生成完整后预览效果 输入框内输入如下内容: 创建一个详细的教程应用,逐步演示在Ubuntu系统中解决搜狗输入法无法输入中文的五种方法:1) 检查并安装依赖库;2) 重新配置输入法;3) 重启输入法服务;4) 更新系统语言设置;5) 重新安装搜狗输入法。应用应包括图文步骤和终端命令示例,支持用户交互式操作。 在Ubuntu系统中使用搜狗输入法时,偶尔会遇到无法输入中文的情况。这种问题通常由依赖缺失、配置错误或服务异常导致。下面分享五种经过验证的解决方法,操作时建议按顺序尝试。 1. 检查并安装依赖库 搜狗输入法依赖fcitx框架和libopencc等组件。若安装时未自动解决依赖关系,可手动执行以下步骤: - 打开终端,运行命令更新软件源列表 - 安装fcitx框架及必要组件 - 安装中文字体库确保显示支持

By Ne0inhk