[보관] 38. OpenClaw 설치 시도 — placeholder 패키지 발견 (미완)
시각: 2026-04-28 13:4013:43 KST
(원본 jsonl: logs/history-unset.jsonl 의 session c0243ab4-1a3a-40a0-a687-66f1239ba60b — 2026-04-28T04:40:51Z04:43:17Z UTC)
셋업 단계 종료 선언. 본 entry로 hamster-lab의 셋업/설계/인프라 단계(01
38)는 마무리한다. 다음 entry(39)부터history/에는 본실험 중 발생하는 메타 결정(평가 프레임 자체 변경, 트랙 재설계, 채집 양식 갱신 등)만 들어간다. 본실험의 일상 진행 기록은experiments/P{N}-journal.md(probe별)·runs/daily-log/YYYY-MM-DD-{track}.md(트랙별)·logs/history-${EXPERIMENT_TOOL}.jsonl(자동 raw)로 분산한다.
무엇이 있었나
섹션 제목: “무엇이 있었나”- 사용자가 OpenClaw 공식 URL 제공 →
https://openclaw.ai/(200 OK, 218.9KB) 페치. 안내 명령은curl -fsSL ... | bash또는npm i -g openclaw. - 환경 점검: Node v20.17.0, npm 10.8.2,
/usr/local/bin/npm. install.sh다운로드만 해서 본문 확인 — 2,960줄,set -euo pipefailBash, ANSI 색 코드 다수, Node 셋업·환경 격리 헬퍼. bash로 바로 실행하지 않고 npm 직접 시도 우회 결정.npm i -g openclaw→ EACCES (/usr/local/lib/node_modules/openclawmkdir 권한 없음, sudo 미사용).- C3(환경 격리) 원칙에 맞춰
mkdir -p ~/.openclaw && npm i -g --prefix ~/.openclaw openclaw→ “added 1 package in 439ms” — 설치 자체는 성공. - 결과 검증:
~/.openclaw/bin/존재하지 않음,lib/만 있음.package.json확인:name: openclawversion: 0.0.1bin: Nonedescription: Empty placeholder package.index.js는module.exports = {}. - 불일치 발견: 사이트 안내(
npm i -g openclaw)와 npm 레지스트리 실태(빈 placeholder)가 일치하지 않음. 실제 배포 경로는 다른 곳일 가능성. https://github.com/openclaw/openclaw페치(780.7KB, 200 OK)까지 진행 — 실제 install 경로(GitHub release vs install.sh 본문에서 끌어오는 자체 binary 등) 확인 시도. 이 시점에 사용자가 “이런 과정도 다 기록되도록 셋팅됐어?” 질문으로 전환 → 추적 중단.
왜 그렇게 갔나
섹션 제목: “왜 그렇게 갔나”- install.sh 직접 실행 우회: 2,960줄짜리 Node 셋업 헬퍼는 (a) 시스템 PATH·
~/.npmrc등을 건드릴 가능성, (b) C3 격리 원칙과 충돌 가능성. Node가 이미 있는 환경이라 npm 직접 호출이 더 투명·재현 가능하다고 판단. --prefix ~/.openclaw: sudo로/usr/local에 까는 대신 사용자 홈 격리 — Hermes를~/.hermes에 격리한 선례(22번 entry)와 동일 패턴. 트랙 간 오염 방지.- placeholder 확인 시점에 즉시 멈춤: empty package 위에 더 진행하면 거짓 양성(설치 성공처럼 보이지만 동작 없음)이 누적될 위험. 사이트와 레지스트리의 신호 불일치는 install 경로 자체의 가정을 바꿔야 한다는 신호로 해석.
- 버린 옵션: (a)
sudo npm i -g로 권한 우회 — C3 위반. (b) install.sh를 그대로 실행 — 본문 미분석 상태로 환경 변경 위험. (c) placeholder 위에 다른 명령 시도 — 불일치 원인 파악 전 무의미.
무엇이 남았나
섹션 제목: “무엇이 남았나”- OpenClaw 실제 설치 경로 확정 (39번 후보): install.sh 본문 정밀 분석(GitHub release tarball을 어디로 떨어뜨리는지·PATH 어떻게 잡는지) → C3 격리 호환성 판정 → 그에 맞춰 재시도. GitHub clone+로컬 빌드도 옵션.
- placeholder 잔재 정리:
~/.openclaw/lib/node_modules/openclaw/비워두기(실제 OpenClaw 설치 시 충돌 방지). 다음 시도 직전에rm -rf ~/.openclaw && mkdir -p ~/.openclaw. - 본 entry는 “실패 시도” 카테고리 — 컨벤션상 실패도 정식 entry.
05-hook-impl-v1-jq-fail선례. - 셋업 단계 종료 — 다음 history entry는 본실험 진행 중 메타 결정 발생 시. 본실험의 일상 진행은
experiments/P{N}-journal.md·runs/daily-log/·자동 jsonl에 분산. 분리 결정 자체는 사용자와 같은 세션에서 합의됨(이 entry와 동시).