[Homebrew 시리즈 4편] GUI 앱과 Brewfile

한국어 버전

Homebrew로는 터미널 프로그램뿐 아니라 GUI 앱 (Chrome, VS Code 등)도 설치할 수 있습니다. 또한 Brewfile을 사용하면 여러 프로그램을 한 번에 관리할 수 있습니다.


이 글에서 할 것

  • GUI 앱(Cask) 설치하고 관리하기
  • Brewfile로 환경 설정 자동화하기
  • 기존 환경을 Brewfile로 백업하기

준비물

  • Homebrew가 설치된 macOS
  • 관리자 권한 (앱 설치 시 필요)

Homebrew 용어 정리

용어 설명 예시
Formula CLI 도구 (터미널 프로그램) git, node, tree
Cask GUI 앱 (화면이 있는 프로그램) google-chrome, visual-studio-code
Tap 추가 저장소 homebrew/cask-versions
Bundle Brewfile 기능 여러 패키지 한 번에 설치

실습 1: Chrome 설치 (GUI 앱)

왜 Chrome인가?

Chrome은 개발자 도구와 확장 프로그램 생태계로 인해 가장 많이 사용되는 브라우저입니다.

전통적인 설치 vs Homebrew

방식 과정
전통 google.com/chrome → 다운로드 → dmg 열기 → Applications 드래그
Homebrew brew install --cask google-chrome

Chrome 설치

GUI 앱 설치 zsh · ~/workspace
Ready. Press Replay to run the scripted session.

출력 해석:

부분 의미
--cask GUI 앱 설치임을 명시
.dmg 다운로드 Apple의 디스크 이미지 형식
Moving App /Applications 폴터로 이동

설치 확인

ls -la /Applications | grep Chrome

또는 Spotlight에서 확인:

Command + Space → chrome

실습 2: VS Code 설치

VS Code 설치

VS Code 설치 zsh · ~/workspace
Ready. Press Replay to run the scripted session.

주목할 점:

  • Linking Binary 'code' → 터미널에서 code 명령어 사용 가능!

터미널에서 VS Code 실행

# 현재 폴터에서 VS Code 열기
code .

# 특정 파일 열기
code myfile.txt

# 새 창 열기
code -n .

실습 3: 설치된 GUI 앱 확인

Cask 목록 보기

brew list --cask

전체 목록 (Formula + Cask)

brew list

특정 Cask 정보

brew info --cask google-chrome

실습 4: 유용한 개발 도구 설치

추천 Cask 목록

# 브라우저
brew install --cask google-chrome firefox

# 개발 도구
brew install --cask visual-studio-code iterm2 docker

# 생산성
brew install --cask notion slack 1password

# 유틸리티
brew install --cask raycast alt-tab

한 번에 여러 개 설치

brew install --cask google-chrome visual-studio-code iterm2

실습 5: Brewfile 만들고 사용하기

왜 Brewfile인가?

새 맥북을 샀거나, 포맷 후 환경을 복원할 때:

  • ❌ "뭐 설치했더라..." 기억할 필요 없음
  • ✅ Brewfile 하나로 모든 프로그램 자동 설치

Brewfile 예시

Brewfile 사용 zsh · ~/workspace
Ready. Press Replay to run the scripted session.

Brewfile 생성

cd ~
touch Brewfile

Brewfile 내용 작성

# ===========================================
# Homebrew Brewfile
# ===========================================

# Tap (추가 저장소)
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/core"

# ===========================================
# CLI 도구 (Formula)
# ===========================================

# 필수 도구
brew "git"
brew "vim"
brew "curl"

# 파일/텍스트 유틸리티
brew "tree"
brew "wget"
brew "jq"           # JSON 처리
brew "ripgrep"      # 고속 검색
brew "fd"           # 고속 파일 찾기

# 개발 도구
brew "node"
brew "yarn"

# 시스템 모니터링
brew "htop"

# ===========================================
# GUI 앱 (Cask)
# ===========================================

# 브라우저
cask "google-chrome"

# 개발 도구
cask "visual-studio-code"
cask "iterm2"
cask "docker"

# 생산성
cask "notion"
cask "slack"
cask "1password"

문법 설명:

구문 의미
tap "저장소" 추가 저장소 등록
brew "패키지" CLI 도구 설치
cask "앱" GUI 앱 설치
# 주석 주석 (무시됨)

Brewfile로 설치 실행

cd ~
brew bundle

소요 시간: 10-30분 (네트워크 속도에 따라 다름)


실습 6: 기존 환경을 Brewfile로 백업

현재 설치된 패키지로 Brewfile 생성

cd ~
brew bundle dump

Brewfile이 생성됩니다.

특정 위치에 생성

brew bundle dump --file=~/dotfiles/Brewfile

실습 7: Cask 앱 업데이트와 제거

Cask 업그레이드

# 특정 앱 업그레이드
brew upgrade --cask google-chrome

# 모든 Cask 업그레이드
brew upgrade --cask

Cask 제거

# 일반 제거
brew uninstall --cask google-chrome

# 완전 제거 (설정 포함)
brew uninstall --zap google-chrome

주의: zap모든 설정을 삭제합니다. 신중히 사용하세요!


실수 대처

문제 1: "Error: Cask xxx is unavailable"

원인: 잘못된 Cask 이름

해결:

# 정확한 이름 검색
brew search chrome

# 출력 예시
# ==> Casks
# google-chrome    google-chrome@beta

문제 2: "Error: It seems there is already an App"

원인: 이미 수동으로 설치된 앱이 있음

해결:

# 기존 앱을 Homebrew 관리로 전환
brew install --cask google-chrome --force

문제 3: Brewfile 실행 중 오류

원인: Brewfile 문법 오타

해결:

# 문법 검사
brew bundle check

# 오류 줄 확인 후 수정
# brewf → brew 로 수정

문제 4: Cask 설치 중 다운로드 실패

해결:

# 네트워크 확인
ping google.com

# 재시도
brew install --cask google-chrome --retry

유용한 팁

설치 가능한 Cask 검색

# 특정 카테고리 검색
brew search --cask browser
brew search --cask editor

Cask 상세 정보

brew info --cask visual-studio-code

VS Code 확장 백업

# 확장 목록 백업
code --list-extensions > vscode-extensions.txt

# 복원
cat vscode-extensions.txt | xargs -L 1 code --install-extension

완전한 개발 환경 예시

한 번에 설정하는 명령어

# 1. Homebrew 설치
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 2. Apple Silicon Mac: PATH 설정
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc

# 3. Brewfile 생성
cat > ~/Brewfile << 'EOF'
tap "homebrew/bundle"
brew "git"
brew "node"
brew "tree"
brew "wget"
cask "google-chrome"
cask "visual-studio-code"
cask "iterm2"
EOF

# 4. 한 번에 설치
cd ~ && brew bundle

# 5. 확인
brew list
brew list --cask

실습 완료 체크리스트

  • Chrome을 brew로 설치
  • VS Code를 brew로 설치
  • code 명령어 사용 확인
  • 설치된 GUI 앱 목록 확인 (brew list --cask)
  • Brewfile 생성
  • Brewfile로 설치 실행 (brew bundle)
  • 기존 환경으로 Brewfile 생성 (brew bundle dump)
  • Cask 업데이트 (brew upgrade --cask)
  • Cask 제거 (brew uninstall --cask)

Homebrew 시리즈 요약

내용 핵심 명령어
1 Homebrew가 왜 필요한가? which python3
2 Homebrew 설치 /bin/bash -c "$(curl ...)"
3 CLI 패키지 관리 brew install, brew upgrade
4 GUI 앱 + Brewfile brew install --cask, brew bundle

축하합니다!

Homebrew 시리즈를 완료했습니다. 이제 개발에 필요한 도구를 쉽게 설치하고 관리할 수 있습니다.

💬 댓글

이 글에 대한 의견을 남겨주세요