sklass의 s-class 프로그래밍 blog

HomeBrew 사용법 본문

homebrew

HomeBrew 사용법

sklass 2021. 8. 23. 23:26

HomeBrew 란?

HomeBrew는 MacOS용 패키지 관리 어플리케이션입니다. 루비로 개발되었으며, 다양한 패키지들을 편리하게 관리할 수 있다는 장점이 있지만, 커뮤니티 기반으로 운영되기 때문에 패키지의 안정성이 보장되지 않는다는 단점도 있습니다.

 

Homebrew는 전용 디렉토리에 패키지를 설치하고 /usr/local 위치로 심볼릭 링크를 연결합니다. 기본적으로 brew install 명령어를 통해 설치된 패키지는 /usr/local/Cellar 경로에 저장됩니다.

HomeBrew 설치

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

 

HomeBrew 명령어 모음

패키지 설치하기

$ brew install <package-name>

패키지 삭제

$ brew uninstall <package-name>

Homebrew로 설치한 모든 package 일괄 삭제

$ brew remove --force --ignore-dependencies $(brew list)

 

패키지 업그레이드

패키지명 미입력시, 전체 업데이트가 됩니다.

$ brew upgrade <package-name>

패키지 검색

$ brew search <package-name>

설치된 패키지 목록 보기

$ brew list

Homebrew 업데이트

가끔 실행해주는걸 권장합니다. 그렇지 않으면 brew install 할 때 해당 패키지의 예전 버전이 설치 될 수 있습니다.

$ brew update

실행중인 서비스 보기

$ brew services list

서비스 시작, 재시작, 종류

$ brew services start <service-name>
$ brew services restart <service-name>
$ brew services stop <service-name>

Brewfile

Homebrew에는 bundle 기능이 있습니다.

$ brew bundle dump

brew bundle dump 를 사용하면 사용하고 있는 맥에 설치된 Homebrew 패키지들을 Brewfile로 뽑아낼 수 있습니다. 마치 pip의 requirements.txt와 같은 역할을 하는것 입니다.

$ cat Brewfile

# 출력 내용
tap "caskroom/fonts"
tap "cjbassi/gotop"
tap "dart-lang/dart"
tap "getsentry/tools"
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/cask-drivers"
tap "homebrew/cask-fonts"
tap "homebrew/cask-versions"
tap "homebrew/core"
tap "vitorgalvao/tinybashs"
brew "autojump"
brew "awscli"
brew "bat"
brew "git-flow-avh"
brew "mysql"
brew "mysql@5.7"
brew "zsh-autosuggestions"
brew "zsh-syntax-highlighting"
brew "dart-lang/dart/dart"
brew "vitorgalvao/tinybashs/cask-repair"
cask "alacritty"
cask "font-hack-nerd-font"

# 다른 맥에서 입력
$ brew bundle

생성된 Brewfile을 다른 맥으로 복사한 뒤, brew bundle 명령어를 입력하면 그대로 설치할 수 있습니다.

tap, brew, cask

Brewfile 파일에 있는 tap, brew, cask에 대해서 알아보겠습니다.

tap

  • 먼저 탭에 대한 개념은 Homebrew 내의 기본 저장소(Formulae 라고도 함) 외의 서드 파티 저장소입니다.
  • brew tap 명령어를 입력하면 지금 내 맥북에 추가된 탭 목록을 확인할 수 있습니다.
  • brew tap <user/repo>를 입력하면 탭을 추가할 수 있고, brew install을 통해 설치할 때 해당 저장소를 사용할 수 있습니다.
  • 입력할 때 <user/repo>는 기본적으로 GitHub 저장소를 가정하고 추가되며, repo 이름은 homebrew-*로 시작하는 저장소여야 하지만 실제로 추가할 때에는 homebrew-* 접두사를 생략해도 됩니다.
    실제로 homebrew/bundle라는 탭은 https://github.com/homebrew/homebrew-bundle 에서 내용을 확인할 수 있습니다.

brew:

  • brew "package_name"은 해당 패키지를 설치합니다. 기본 저장소를 포함하여 추가된 탭을 참조합니다.

cask

  • cask는 Homebrew로 설치하지 않는, 외부 애플리케이션을 설치할 수 있습니다.