macOS 개발 환경의 시작점
macOS는 Unix 기반 운영체제로, 터미널 환경이 개발에 최적화되어 있습니다. 하지만 기본 설치 상태에서는 Git, 컴파일러 등 핵심 도구가 빠져 있습니다. Xcode Command Line Tools 설치가 모든 개발 환경 구축의 첫 단계입니다.
이 글에서는 Xcode CLI 도구 설치, zsh/Oh My Zsh 설정, iTerm2 커스터마이징, 개발 도구 체인 구성을 단계별로 정리합니다.
Xcode Command Line Tools 설치
Xcode CLI 도구에는 Git, make, clang(C/C++ 컴파일러), 헤더 파일 등 기본 개발 도구가 포함됩니다. Xcode 전체를 설치할 필요 없이 CLI 도구만 설치하면 됩니다.
# Xcode CLI 도구 설치
xcode-select --install
# 팝업 창에서 "설치" 클릭
# 다운로드 크기: 약 1.5GB, 설치 시간: 5~10분
# 설치 확인
xcode-select -p
# 출력: /Library/Developer/CommandLineTools
# 포함된 도구 확인
git --version # git version 2.39.5 (Apple Git-154)
make --version # GNU Make 3.81
clang --version # Apple clang version 16.0.0
Xcode CLI 도구가 오래된 경우 삭제 후 재설치할 수 있습니다.
# 기존 CLI 도구 삭제 후 재설치
sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
zsh 기본 설정
macOS Catalina 이후 기본 셸은 zsh입니다. .zshrc 파일에 환경변수, 별칭, 함수 등을 설정합니다.
# 현재 셸 확인
echo $SHELL
# 출력: /bin/zsh
# .zshrc 파일 생성/편집
touch ~/.zshrc
# 기본 .zshrc 설정
cat << 'ZSHRC' >> ~/.zshrc
# 기본 환경변수
export LANG=ko_KR.UTF-8
export EDITOR="code --wait"
# Homebrew (Apple Silicon)
eval "$(/opt/homebrew/bin/brew shellenv)"
# 히스토리 설정
HISTSIZE=10000
SAVEHIST=10000
HISTFILE=~/.zsh_history
setopt SHARE_HISTORY # 터미널 간 히스토리 공유
setopt HIST_IGNORE_DUPS # 연속 중복 명령 무시
setopt HIST_IGNORE_SPACE # 공백으로 시작하는 명령 제외
# 편리한 별칭
alias ll="ls -la"
alias gs="git status"
alias gd="git diff"
alias gl="git log --oneline -20"
alias dc="docker compose"
alias python="python3"
alias pip="pip3"
# 디렉토리 이동 단축
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
ZSHRC
# 설정 적용
source ~/.zshrc
Oh My Zsh 설치 및 설정
Oh My Zsh는 zsh 설정 프레임워크로, 테마, 플러그인, 자동 완성을 쉽게 관리할 수 있습니다.
# Oh My Zsh 설치
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 기존 .zshrc가 .zshrc.pre-oh-my-zsh로 백업됨
# 유용한 플러그인 설치
# zsh-autosuggestions: 히스토리 기반 자동 완성
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# zsh-syntax-highlighting: 명령어 구문 강조
git clone https://github.com/zsh-users/zsh-syntax-highlighting \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# fzf: 퍼지 파인더
brew install fzf
$(brew --prefix)/opt/fzf/install
.zshrc에서 테마와 플러그인을 설정합니다.
# ~/.zshrc 수정 (Oh My Zsh 관련 부분)
# 테마 설정 (내장 테마)
ZSH_THEME="agnoster"
# 인기 테마: agnoster, robbyrussell, powerlevel10k
# 플러그인 활성화
plugins=(
git # Git 별칭 모음 (gst, gco, gcmsg 등)
zsh-autosuggestions # 히스토리 기반 자동 완성
zsh-syntax-highlighting # 명령어 구문 강조
fzf # 퍼지 검색
docker # Docker 자동 완성
node # Node.js 자동 완성
python # Python 가상환경 표시
brew # Homebrew 자동 완성
)
Powerlevel10k 테마 (고급)
더 강력한 프롬프트를 원한다면 Powerlevel10k를 추천합니다.
# Nerd Font 설치 (아이콘 표시용)
brew install --cask font-jetbrains-mono-nerd-font
# Powerlevel10k 설치
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k
# ~/.zshrc에서 테마 변경
# ZSH_THEME="powerlevel10k/powerlevel10k"
# 설정 마법사 실행 (터미널 재시작 시 자동 실행)
p10k configure
# 대화형 마법사로 프롬프트 스타일 선택
# Git 상태, 실행 시간, Node/Python 버전 등 표시 가능
iTerm2 설정
iTerm2는 macOS 기본 터미널보다 더 많은 기능을 제공합니다.
# iTerm2 설치
brew install --cask iterm2
# 추천 설정 (iTerm2 → Settings에서 설정)
# Appearance → Theme: Minimal
# Profiles → Text → Font: JetBrains Mono Nerd Font, 14pt
# Profiles → Window → Transparency: 5~10%
# Profiles → Terminal → Scrollback lines: 10000
# Profiles → Keys → Key Mappings → Presets: Natural Text Editing
iTerm2의 프로필을 JSON으로 내보내 Git으로 관리할 수 있습니다.
# iTerm2 설정 내보내기
# iTerm2 → Settings → General → Preferences
# "Load preferences from a custom folder" 체크
# 경로: ~/dotfiles/iterm2
# 또는 명령어로 설정 값 확인
defaults read com.googlecode.iterm2
개발 도구 체인 설치
Homebrew로 주요 개발 도구를 설치합니다.
# 필수 CLI 도구
brew install git wget curl jq tree
# 모던 CLI 도구 (기본 명령 대체)
brew install bat # cat 대체 (구문 강조)
brew install eza # ls 대체 (아이콘, 트리)
brew install ripgrep # grep 대체 (빠른 검색)
brew install fd # find 대체 (직관적 문법)
brew install zoxide # cd 대체 (스마트 이동)
brew install tldr # man 대체 (간결한 도움말)
# .zshrc에 별칭 추가
cat << 'ALIASES' >> ~/.zshrc
# 모던 CLI 별칭
alias cat="bat --paging=never"
alias ls="eza --icons"
alias ll="eza -la --icons --git"
alias tree="eza --tree --icons"
alias grep="rg"
alias find="fd"
ALIASES
개발 언어별 설정
# Node.js (nvm으로 버전 관리)
brew install nvm
mkdir ~/.nvm
echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.zshrc
echo '[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && . "/opt/homebrew/opt/nvm/nvm.sh"' >> ~/.zshrc
source ~/.zshrc
nvm install --lts
node --version
# 출력 예시: v22.12.0
# Python (pyenv로 버전 관리)
brew install pyenv
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
source ~/.zshrc
pyenv install 3.12.8
pyenv global 3.12.8
python --version
# 출력 예시: Python 3.12.8
# Go
brew install go
echo 'export GOPATH="$HOME/go"' >> ~/.zshrc
echo 'export PATH="$GOPATH/bin:$PATH"' >> ~/.zshrc
# Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 출력: Rust is installed now.
Git 설정
macOS에서 Git을 처음 사용할 때 필요한 설정입니다.
# 기본 설정
git config --global user.name "이름"
git config --global user.email "email@example.com"
git config --global init.defaultBranch main
git config --global core.editor "code --wait"
# macOS 전용: .DS_Store 무시
echo ".DS_Store" >> ~/.gitignore_global
git config --global core.excludesFile ~/.gitignore_global
# SSH 키 생성 (Ed25519)
ssh-keygen -t ed25519 -C "email@example.com"
# 패스프레이즈 설정 후
# SSH 키를 macOS 키체인에 등록
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
# SSH config 설정
cat << 'SSH' >> ~/.ssh/config
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519
AddKeysToAgent yes
UseKeychain yes
SSH
# 공개키 복사 (GitHub에 등록)
pbcopy < ~/.ssh/id_ed25519.pub
# 클립보드에 복사됨 → GitHub Settings → SSH Keys에 붙여넣기
실전 팁
- dotfiles 관리:
.zshrc,.gitconfig, Brewfile 등을 Git 저장소로 관리하면 새 Mac 설정이 빠름 - Nerd Font 필수: Oh My Zsh, Powerlevel10k, eza 등 아이콘이 포함된 도구는 Nerd Font가 필요
- Rosetta 2: Apple Silicon Mac에서 Intel 전용 도구가 필요하면
softwareupdate --install-rosetta로 설치 - Spotlight 인덱싱 제외:
node_modules,.venv등 개발 디렉토리는 Spotlight 인덱싱에서 제외하면 성능 향상 - 키체인 통합: SSH 키와 GPG 키를 macOS 키체인에 등록하면 매번 비밀번호 입력이 불필요
- 환경변수 우선순위:
/etc/paths→.zprofile→.zshrc순서로 로드되므로 PATH 충돌 시 이 순서를 확인