AI / 自動化 2026 年 4 月 23 日

貸し出し Mac mini の OpenClaw:Node.js LTS/Current と launchd PATH 2026 マトリクス

VmMac エンジニアリングチーム 2026 年 4 月 23 日 約 23 分で読了

VmMac で Apple Silicon Mac miniOpenClaw を載せる DevOps には、最初は対話 shell で openclaw gateway が美しく立ち上がるのに、brew upgrade 後の launchd では静かに失敗、という図式が出やすいです。典型原因は PATH ドリフト です。Homebrew が /opt/homebrew/opt/node@22/bin 付近を作り直し、nvm 由来のシムは ~/.zshrc 未ロードの launchd から消え、あるいは Current 依存の NODE_MODULE_VERSION 不一致が来た、等です。本稿は 2026 年時点で LTS と CurrentLaunchAgent 環表包みスクリプト導入とデプロイ秘密、環、plist構造化ログとディスク廻しデーモンプロセス、ポート、障害 への架け橋を一つの表にまとめ、香港、日本、韓国、シンガポール、米国 で退屈に揃うための SOP です。VmMac は Node バージョンを選んではくれず、SSH/VNC で金属へ触れるだけ。launchd 本番改修の前に ヘルプ の接続を前提に、価格 でステージング用 mini を一齣。

以降で繰り返すが、本番デーモンに PATH 解決を期待しない。会話的 which と plist の実挙動の差分は、最初は一晩遅延に見えて、数週間で on-call 負債化します。相反して、node -v を同じ行 JSONL に毎晩出せば、 semver と監視が一本化し、ログ方針 とも矛盾しません。オペレーション観測、セキュリティ、そして人間可読手順、を同一次元に戻すのが、ローンチエージェント式ホスティングの本丸です。さらに、ARM64 ネイティブの Node 一本に寄せ、Rosetta 混在を潰すと、dylib/パス周りの当てずっぽうが一気に減ります。ここに Current を載せるなら、週次当番のコストを数字で書き、合意形成してから、が安全です。以下は launchd 無ログインの壁から始め、リスク帳票、管理ツール比較、plist キー、7 手順、戻し、5 地スモーク、最後に Mac mini を選ぶ理由、という順に落とし込みます。本文と JSON-LD の FAQ は用語合わせ済み想定で、秘密の単一信頼点 とも矛盾しない文面に揃えています。

launchd にはログイン shell が無い

対話 zsh は ~/.zprofile~/.zshrc、direnv、fnm フック等を重ね、PATH が膨らみます。一方 launchd エージェントは、plist に書かれた環表しか継ぎません。失敗系は node の 127 半端起動、プラグ解決ミス、npm prefix の誤誘導。設計的には推測パス断ち、短い /usr/local/bin/vm-openclaw.sh から NODE= 絶対指定+行ログ JSONL、に寄せ、ローテ で落とし込む。絶対パスを避けるなら、次の 14 日以内に何か壊す、を前提にした方が前向きです。

金律: plist から生 node を呼ぶ日は、誰かの昼休み brew まで、せいぜい 2 週の猶予と心得る。

LTS 対 Current:共有レンタ機の予算枠

LTS の semver はやや鈍く、OpenClaw プラグのネイティブ部と噛み合いやすいです。Current は V8 の最前、が週次ガード要。保守が 3 名未満の fleet はまず LTS。24 時間毎の自動スモークとホットスペア mini があるなら Current 可—ただし戻し手順 1 枚に。次表は審議のための 数値仮枠 を添えたものです。マネージドではなく金属を借りる前提のとき、戻しを速く測る 訓練のほうが、バージョンの新しさに勝ちにくい事実に気づかせてくれます。さらに、セキュリティの定期監査に semver と plist の改訂番号を紐づければ、説明の一本化に繋がります。

チャンネル 人が追う必要がある頻度 得をしやすい状況 仮の指標
Node LTS (例: 22.x) 月次パッチレビュー 共有ホスト、厳格なコンプ部門 四半期あたりランタイム事故 2 回以下
Node Current 週次差分とカナリア 研究系エージェント、実験系ツール 本番前に 12 点チェック通過
混在 fleet 巻毎の固定のはず 同じログインユーザでチャンネル分けは厳禁 同時ログオフで衝突再発

fnm・nvm・Homebrew:launchd が覗く実体

nvm は shell 関数。plist の ProgramArguments に直挿しは原則避け。fnm は導出バイナリ化と相性あり。Homebrew は片系 Node に単純だが、更新で最も壊れやすい。現場合わせは fnm+包み が多く、人は引き続き fnm 切替、/usr/local/bin/... は Ansible 一本で更新。検証二点セットは、SSH の which node と、テスト plist 出力の /tmp/nodepath.log の一致、同じく node -p process.versions まで。ここに一本化の負債が出ます。補足として、PATH 優先度は six 行以内の明示列に制し、ポート/権限 の層で見る障害を PATH で誤魔化さない、が長期で効きます。

  • 探査: 対話と plist の 2 系統の node 物理パスを 1:1 突き合わせる。
  • ABI: パッチ位まで同じ。ドキュの一行に semver を固定し PR で動かす。

Plist 環表:PATH、WorkingDirectoryNODE_OPTIONS

キー 意図 よくある罠
PATH node, npm, openclaw 探索 brew の手前の /usr/local/bin を抜く
WorkingDirectory 相対設定の基準 tmp 等、再起動で消える場所
NODE_OPTIONS 診断フラグ --inspect の本番ポート露出

健康検査失敗のあと、まず ポート障害文。PATH を直しても戻るなら、TCC/リスンアドを疑う。段取り表に「1 PATH、2 ポート、3 秘密」の順序を明文化。

OpenClaw×launchd 七歩

  1. 導通済みの Node を選び semver を git 固定。
  2. /usr/local/bin/vm-openclaw.sh を置き、NODE= 明示とログ JSONL。
  3. plist は包み呼び。裸 openclaw 禁止。
  4. WorkingDirectory~/.openclaw と同居する家へ—秘匿の単一真実に沿う。
  5. PATH 明示は高々 6 要素。
  6. 夜、node -v 行を構造化—回転方針 へ。
  7. 同リージョンのカナリア mini で brew upgrade node 予行。

戻る症状がヘルスだけなら、前段二文書で吸う。併走する APFS 巻運用は別稿の通り、メタルに宿すエージェント の責任分界に沿ってください。

次版 Node でアドオンが砕けた戻し

内製ミラーに 1 つ前の tarball / brew 版を残し、止める→古い patch の symlink へ戻し→npm rebuild →ゲート再開。テスト webhook まで P95 遅延 250ms 下、を短時間で。20 分を超えた戻しは、包み未完了のサイン。冷起動 8s 前後、15s 超は import 地獄かネイティブ再構築を先に疑い、ログ との突合作成 JSON へ。書き戻しの順序を五地で違えない、が海外分散の要諦でした。さらに、OpenClaw の大きめワークスペースを専用 APFS 巻へ置く方針と同時にやるなら、plist の WorkingDirectory と巻名を runbook 同じ段落に纏め、片方だけ直す事故を避けてください。カナリア mini は必ず openclaw gateway の合成シナリオまで通し、HTTP 200 のみでなく、下流のキュ遅延・再試行回数を合わせて見ると安全です。戻し演習の所要を四半期ごとに採り、目標 20 分内に入らない理由を、テンプレの不足か人順かに分解できると、次の承認会議で役立ちます。

五地スモーク:揺らがない版

遅延は Node の意味を変えません。揺らぐのは。週に一度、同じ七歩+ plist ハッシュ比較。拡充は 価格 先、Current と LTS の地域割れの前に。逸脱をログの黄色信号として上げ、ゲート P95 近傍のパネルと同期。週次カナリアと本番五台の node -v 1 行合わせを、最低限の健康診断に。

FAQ:Node×OpenClaw

インストーラの Node を本番採択? ブートストラップ止まり。本番はあなたの絶対パス。

Rosetta 問題? arm64 ネイティブ推奨。x64/ arm64 混在は地獄のパス/ dylib 事故を呼ぶ。

秘密の置き所? 秘密文 どおり。plist と ~/.openclaw/.env 二重持ちの優先規則を文書化。

常時起動の代理に、Mac mini M4 とVmMac

常時 on のエージェントには単路性能が効き、SSH と任意の VNC 人承認。地域レンタでカナリア近傍、同字 plist テンプレ。VmMac はパッケマネではない—金属とネット。Node を締め、launchd を誠実に。そうすれば、代理は「静かに正しい」方向へ向かいます。さらに、OpenClaw の大容量作業用ディレクトリを APFS 第 2 巻に逃がす併用案では、df の SLO ゲートを CI と共有し、~/.openclaw との整合だけを、リリース凍結の都度レビューに載せる習慣を推します。週次で「人が触った箇所」と「スクリプトが触る箇所」の diff を 1 行に要約し、導入稿 への戻しリンクを貼ると、新人オンボードも速い、という帰結に落ち着きがちでした。金属を借りる以上、Node をどう釘付けにするかの設計図を、一緒に机に出して行くのが 2026 年式の基本姿勢です。

Node を替える前にカナリア mini

好みの VmMac リージョンにステージング Mac mini を置き、plist 入替とゲート煙測を演習する。