2026 OpenClaw 설치 경로 선택: install.sh·npm·pnpm·Docker + Mac 클라우드 launchd 검수

Mac 클라우드에서 OpenClaw를 장기 운용할 때 공식 install.sh, npm -g, 저장소 pnpm, Docker 중 무엇을 표준으로 삼을지는 속도 경쟁이 아니라 업그레이드·재시작 책임 계약이다. 본문은 대상·이점(감사 가능한 업데이트·재현 가능한 상주), 통증, 붙여 넣기용 표, launchd 5단계, Docker 볼륨 사실, JSON·18789 1차 점검을 정리하며 기존 status→doctor 글과 보완 관계다.

Mac 클라우드에서 OpenClaw 설치 경로를 고르고 launchd를 설정하는 개념도

목차

1. 요약: 경로별 최적화

install.sh는 온보딩을 줄이지만 바이너리·설정 경로를 알아 launchd가 절대 경로로 호출해야 한다.npm install -g openclaw@latest는 패키지 버전 사고에 익숙한 팀에 맞고 SSH 간 which openclaw가 안정적이다.pnpm 소스는 상류 추적·패치에 유리하나 빌드 규율이 필요하다.Docker는 격리에 강하나 바인드 uid, 프록시 DNS, workspace만 마운트해 ~/.openclaw를 빼먹으면 설정이 갈린다.2026 흔한 실수는 데모 스크립트를 프로덕션에 복사하고 WorkingDirectory·로그를 고치지 않아 세션 종료 후 게이트웨이가 돌아오지 않는 경우다.업그레이드 전에 openclaw doctor로 경고를 읽고 매체를 바꾸면 롤백 지점이 흐려진다.

2. 통증

  1. 업그레이드 표류: 스크립트·npm·pnpm link가 공존해 버전 불일치
  2. 볼륨 분리: 컨테이너만 설정·uid 불일치로 JSON 손상
  3. 데몬 부재: SSH 포그라운드는 재부팅 후 소실
  4. 트리아지 순서: JSON·18789 전에 pairing으로 들어가 시간 소모

3. 표

「1차 트리아지」는 설치 매체만 담당하고 doctor 층과 역할을 나눈다.

경로업그레이드경로권한1차
install.sh재실행bin+설정PATHversion
npm -gnpm update접두사+~/.openclawnvmlaunchd 환경
pnpmpull+buildclone의존성종료 코드
Docker이미지컨테이너+볼륨uidcompose logs
: plist/compose에 HOME·PATH·WorkingDirectory 명시. nvm·fnm를 쓰면 launchd가 로그인 셸을 타지 않으므로 절대 경로나 EnvironmentVariables로 Node 바이너리를 박아야 한다.

4. launchd 5단계

대화형 openclaw onboard 후 24/7. 조직이 서비스 계정을 분리한다면 OpenClaw 상태만 담은 macOS 사용자를 만들고 plist EnvironmentVariables에 해당 HOME을 넣어 대화형 셸을 물려받지 않게 한다.

체크리스트:

  1. 매체·버전·digest를 Runbook에 고정
  2. LaunchAgent plist 절대 경로·로그
  3. bootstrap·kickstart로 터미널 자식 아님 확인
  4. lsof 18789·JSON 검증
  5. 이전 npm/이미지 태그로 롤백 연습

plist 뼈대(경로 교체):

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"><dict> <key>Label</key><string>com.example.openclaw.gateway</string> <key>ProgramArguments</key><array> <string>/usr/local/bin/openclaw</string><string>gateway</string><string>run</string> </array> <key>WorkingDirectory</key><string>/Users/deploy</string> <key>StandardOutPath</key><string>/var/log/openclaw/gateway.out</string> <key>StandardErrorPath</key><string>/var/log/openclaw/gateway.err</string> <key>RunAtLoad</key><true/> </dict></plist>

5. Docker·감사

6. 네이티브 Mac 클라우드

WSL·중첩 가상화·노트북 Docker는 데모엔 좋으나 운영에선 층이 늘고 재부팅 책임이 흐려진다. 보안 검토에서 게이트웨이가 루프백만 듣는지 물을 때 답은 plist나 compose 파일로 증명해야 하며 기억에 의존하면 안 된다. API 키를 컨테이너 레이어에만 두고 개발자는 호스트 설정으로 테스트하면 로테이션 때 상태가 갈린다. SSH 가능한 전용 Mac 클라우드에서 npm/설치 바이너리+launchd가 Runbook 한 줄로 설명하기 쉽다. 격리가 명시적으로 필요할 때만 Docker를 채택한다. 주간으로 실행 바이너리 경로를 찍어 PATH 가로채기를 조기에 잡는다. 첫 채널은 사이트 내 5분 배포 글을 보고 본문으로 매체와 plist를 동결하라.