MacOS용 패키지 관리 어플리케이션.
우리에게 익숙한 패키지-매니저로는 Maven, Gradle, Npm 등이 있다.
이런 패키지-매니저가 수많은 Dependency들을 자동으로 매칭하고 관리해 주는 것처럼,
Mac에서는 Homebrew를 통해 프로그램이나 App을 편리하게 관리할 수 있다.
# [1-1]. 설치명령어(M1 Mac인 경우)
/bin/bash -c "$(curl -fsSL <https://gist.githubusercontent.com/nrubin29/bea5aa83e8dfa91370fe83b62dad6dfa/raw/48f48f7fef21abb308e129a80b3214c2538fc611/homebrew_m1.sh>)"
# [1-2]. 설치명령어(M1 Mac이 아닌 경우)
/bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh>)"
# [2]. BicSur 이후 버젼은 아래와 같이 PATH에 Homebrew 경로 추가
echo "export PATH=/opt/homebrew/bin:$PATH" >> ~/.zshrc
source ~/.zshrc
# [3]. homebrew 설치확인
brew -v
이미 Homebrew는 설치 됐기 때문에 개발 패키지에 대한 설치환경이 구성된 상태다.
하지만 웹/앱 어플리케이션 설치환경 구성을 위해 cask, mas를 먼저 설치한다.
# cask 설치
brew install cask
# mas 설치
brew install mas
이제 개발관련 패키지 뿐만 아니라 웹과 앱 어플리케이션까지 모두 설치할 수 있게 됐다.
아래의 명령어를 통해 패키지를 설치하거나, 관리할 수 있다.
# brew, cask
brew search <패키지명>
# mas
mas search <패키지명>
# brew (search >> Formulae)
brew install <패키지명>
# cask (search >> Casks)
brew install --cask <패키지명>
# mas (패키지번호 = mas search에서 확인)
# 최초 한번은 앱스토어에서 받은 앱만 설치가능하다.
mas install <패키지번호>
# 현재 설치된 패키지 목록을 조회
brew list
mas list
# 패키지에 대한 자세한 정보확인 (저장소의 경로 등...)
brew info <패키지명>
mas info <패키지번호>
# Homebrew 패키지매니저 업데이트
brew update
# 업데이트가 필요한 패키지 목록을 조회
brew outdated
mas outdated
# 개별 패키지 업그레이드
brew upgrade <패키지명>
mas upgrade <패키지번호>
# 모든 패키지 업그레이드
brew upgrade
mas upgrade
# brew, cask
brew uninstall <패키지명>
# mas는 앱스토어에서 직접 삭제
설치 명령어를 통해 패키지를 일일히 설치할 수도 있지만, brewFile에 설치목록을 미리 작성해 놓고 일괄실행하는 방법도 있다.
brewFile을 한번 잘 작성해놓으면, 언제든지 개인이나 팀 개발 환경을 빠르게 구성할 수 있다.
#brewFile 생성 (새로 생성)
touch Brewfile
#brewFile 생성 (Mac에 설치된 항목들을 BrewFile로 저장한 채로 )
brew bundle dump
#brewFile 덮어쓰기
brew bundle -f dump
#brewFile 확인
cat Brewfile
아래 brewFile은 참고만 하세요. 설치가 안되는 패키지가 몇 개 있을 수도 있습니다.
# tab install
tap "adoptopenjdk/openjdk"
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/core"
tap "homebrew/cask-fonts"
# brew install
brew "asciinema" # terminal record
brew "awscli"
brew "cask"
brew "curl"
brew "git"
brew "gradle"
brew "mas"
brew "maven"
brew "mysql"
brew "neovim" # Linux Editor
brew "node"
brew "yarn" # npm replacement yarn
brew "zsh" # zsh Shell
# cask install
cask "adoptopenjdk8" #openJdk + version
#cask "Alfred" # 빠른 검색과 실행
cask "cyberduck"
cask "google-chrome"
cask "intellij-idea" # 무료버젼은 intellij-idea-ce
cask "iterm2"
cask "jetbrains-toolbox"
cask "notion"
cask "postman"
cask "querypie"
cask "simplenote" # 마크다운 노트 (Win,Mac,Linux,Mobile 공통)
cask "sourcetree"
#cask "zoomus"
# mas install
mas "KakaoTalk", id: 869223134
#mas "Keka", id: 470158793
mas "Magnet", id: 441258766
mas "Numbers", id: 409203825
mas "Pages", id: 409201541
mas "Slack", id: 803453959
#mas "Unicorn Blocker", id: 1231935892
# fonts
cask 'font-awesome-terminal-fonts'
cask 'font-d2coding'
#cask 'font-fira-code'
cask 'font-fontawesome'
cask 'font-hack'
#cask 'font-meslo-lg-nerd-font'
#cask 'font-nanum-gothic'
#cask 'font-nanum-gothic-coding'
#cask 'font-nanum-myeongjo'
cask 'font-source-code-pro'
brew bundle