ilhae.ai㈜오션정보기술 · Claude Code 실무 워크숍
교육 진행 전 사전 환경 체크

실습 환경 구축 스크립트 (Claude Code 실무 워크숍 · 2026-11-06)

스크립트 묶음(setup-scripts.zip)을 받아 압축을 푼 뒤 아래 순서대로 실행하세요. 결과 로그는 홈 폴더의 ocean-setup-날짜시각.log에 남습니다.

setup-scripts.zip 받기

두 스크립트 모두 "확인하고, 없으면 설치하고, 마지막에 점검"합니다. 여러 번 실행해도 안전합니다. 실행 결과는 홈 폴더의 ocean-setup-<날짜시각>.log에 남습니다. 사전 진단 때 이 로그를 보여 주세요.

Windows 10/11 — setup-windows.ps1

  1. 이 폴더를 바탕화면 등에 복사합니다.
  2. 시작 메뉴에서 Windows PowerShell을 엽니다(관리자 권한 불필요).
  3. 이 폴더로 이동한 뒤, 사전 안내 메일의 레포 주소를 넣어 실행합니다.
cd $HOME\Desktop\setup
powershell -ExecutionPolicy Bypass -File .\setup-windows.ps1 -RepoBase "https://github.com/<조직명>" -GitName "홍길동" -GitEmail "hong@example.co.kr"
옵션 쓰는 경우
-OfflineDir "E:\ocean-workshop" 사내망에서 GitHub가 막혀 USB로 받은 경우 (statgrid-sim.zip, ocean-work.zip, m2-offline.zip)
-Proxy "http://<주소>:<포트>" 사내 프록시. Claude Code·Git·Maven에 모두 설정
-CaCert "C:\certs\corp-root.pem" TLS 검사 프록시의 루트 인증서
-GitName "홍길동" -GitEmail "hong@example.co.kr" git 사용자 이름·이메일이 없을 때 설정 (실습 커밋에 필요)
-CheckOnly 설치 없이 점검만

Git Bash용 ~/.bashrc에 JDK 17을 PATH 맨 앞에 두는 줄을 추가합니다(JDK 8이 함께 깔린 PC 대비). 설치 대상: Git for Windows(winget Git.Git), JDK 17(winget EclipseAdoptium.Temurin.17.JDK), Claude Code(공식 irm https://claude.ai/install.ps1 | iex). winget이 없거나 회사 정책으로 막혀 있으면 안내 문구를 출력합니다. 이 경우 USB의 Git·JDK 설치 파일로 설치한 뒤 다시 실행하세요.

Windows에서 한글이 깨지거나 오류가 날 때

  • 명령은 Git Bash 창에서 실행합니다. PowerShell·명령 프롬프트 창에서는 bash·timeout·diff <(…)가 없거나 한글 출력이 깨집니다. 설치 스크립트만 PowerShell에서 실행합니다.
  • ZIP은 탐색기 "압축 풀기"로 풀 때 위치를 C:\Users\<사용자명>으로 지정합니다. 기본 위치로 풀면 statgrid-sim\statgrid-sim처럼 한 단계 더 들어갑니다(-OfflineDir로 설치 스크립트가 풀면 상관없음).
  • 설치 스크립트가 하는 인코딩·줄바꿈 처리:
    • 실행하는 동안만 콘솔을 UTF-8로 바꾸고 끝나면 원래대로 되돌립니다.
    • TLS 1.2를 켭니다(PS 5.1 + 오래된 .NET에서 설치 주소 연결이 끊기는 문제).
    • ~/.bashrc에 export LANG="${LANG:-C.UTF-8}"을 넣고, ~/.bash_profile이 없으면 만듭니다. 작업 스케줄러의 bash -lc에서도 JDK 17 PATH가 적용됩니다.
    • git config --global core.quotepath false를 아직 정하지 않았으면 설정합니다. git status에 한글 파일명이 \354\235… 대신 그대로 보입니다.
  • 실습 레포 두 개는 .gitattributes(eol=lf)와 레포 설정 core.autocrlf=false로 배포합니다. 회사 Git 설정이 autocrlf=true여도 스크립트가 CRLF로 바뀌지 않습니다.
  • 다른 곳에서 $'\r': command not found가 나오면 대개 그 파일을 메모장 등으로 저장한 경우입니다. sed -i 's/\r$//' <파일>로 고칩니다.

macOS 13 이상 — setup-macos.sh

cd ~/Desktop/setup
bash setup-macos.sh --repo-base https://github.com/<조직명>

옵션은 같습니다: --offline-dir, --proxy, --ca-cert, --git-name, --git-email, --check-only. 설치 대상: Command Line Tools(git), JDK 17(Homebrew temurin@17), coreutils(gtimeout을 timeout 이름으로 연결), Claude Code(공식 curl -fsSL https://claude.ai/install.sh | bash). Homebrew가 없으면 JDK·coreutils는 안내만 합니다.

macOS에서 실습할 때 바꿔 읽을 것: notepad → open -e, 작업 스케줄러(schtasks) → Claude 데스크톱 앱 Code 탭의 Scheduled, .cmd·cygpath → 사용하지 않음.

끝나면

새 터미널(Windows는 Git Bash)을 열고:

cd ~/statgrid-sim
claude

브라우저에서 회사 계정으로 로그인 → /status에 조직명이 보이면 준비 완료입니다.