fix(portable/mac): setup.sh 装不上 + Bonjour 广播 + 首次启动浏览器不开

在 macmini (Apple Silicon, macOS 15.6.1) 实测发现并修复 3 个 Mac 版问题:

1. setup.sh 漏 --ignore-scripts → 装不上 openclaw(致命)
   openclaw 的 preinstall 脚本会调系统 `node`,但便携版用 app/runtime 下的
   node(不在 PATH),未装 Node 的 Mac 用户 → "node: command not found" code 127。
   两条 npm install 补 --ignore-scripts --no-audit --no-fund --omit=dev,与
   Mac-Start.command 的 fallback install 对齐。

2. Mac-Start.command 没关 Bonjour → mDNS 自动对外广播
   macOS 上 bonjour 插件 auto-start(Win/Linux 是 opt-in)。实测日志:
   `bonjour: advertised ... state=announcing` + `no IPv4 address available on
   utun12`。本地用 Dashboard 不需要 LAN 发现。补 OPENCLAW_DISABLE_BONJOUR=1
   (Windows-Start.bat 早已设)。

3. 首次启动浏览器不自动打开(同 issue #46/#48,此前误判 Mac 无此问题)
   首次启动实测 94.5s(staging 35 个 bundled deps),但浏览器轮询只等 15s
   (30×0.5s) 就放弃。改为最多等 ~3 分钟 (180×1s),加"首次启动需 30-90 秒"
   提示,超时回退打开 Config Center。

三处修复均已在 macmini 端到端重测通过。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
hfshfg
2026-06-17 12:02:48 +08:00
parent 0d88c9b0cc
commit 29238fc423
2 changed files with 38 additions and 9 deletions

View File

@@ -131,9 +131,12 @@ PKGJSON
fi
# Install with China mirror缓存留盘内拔盘不留痕
# --ignore-scripts 必须加openclaw 的 preinstall 脚本会调系统 `node`,但便携版
# 用的是 app/runtime 下的 node不在 PATH未装 Node 的 Mac 用户会因
# "node: command not found" 安装失败 (code 127)。与 Mac-Start.command 的 fallback 对齐。
NODE_BIN="$NODE_TARGET/bin/node"
NPM_BIN="$NODE_TARGET/bin/npm"
npm_config_cache="$APP_DIR/.npm-cache" "$NODE_BIN" "$NPM_BIN" install --prefix "$CORE_DIR" --registry="$MIRROR"
npm_config_cache="$APP_DIR/.npm-cache" "$NODE_BIN" "$NPM_BIN" install --prefix "$CORE_DIR" --registry="$MIRROR" --ignore-scripts --no-audit --no-fund --omit=dev
echo -e " ${GREEN}${NC} OpenClaw 安装完成"
fi
@@ -145,7 +148,7 @@ else
echo -e " ${CYAN}${NC} 安装 QQ 插件..."
NODE_BIN="$NODE_TARGET/bin/node"
NPM_BIN="$NODE_TARGET/bin/npm"
npm_config_cache="$APP_DIR/.npm-cache" "$NODE_BIN" "$NPM_BIN" install @sliverp/qqbot@latest --prefix "$CORE_DIR" --registry="$MIRROR" 2>/dev/null || true
npm_config_cache="$APP_DIR/.npm-cache" "$NODE_BIN" "$NPM_BIN" install @sliverp/qqbot@latest --prefix "$CORE_DIR" --registry="$MIRROR" --ignore-scripts --no-audit --no-fund --omit=dev 2>/dev/null || true
echo -e " ${GREEN}${NC} QQ 插件安装完成"
fi