Homebrew란?
Homebrew는 2009년 Max Howell에 의해 처음 개발된 오픈소스 package manager임.
- 처음에는 macOS에서 소프트웨어 설치를 간편하게 하기 위해 만들어졌으며,
- 이후 Linux도 지원하게 되었음 (Linux 지원은 2020년에 공식적으로 시작)
https://dsaint31.me/mkdocs_site/CE/ch15/ce15_2_5_package_management/
설치하기
shell script로 설치하면 되기 때문에 아래의 정식 사이트에서 시키는 대로 하면 된다.
Docs of Official Site (한국어도 지원됨)
macOS
다음과 같은 shell script를 terminal에서 수행하면 됨.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- -c : 뒤에 넘겨지는 문자열 인자를 bash로 수행함! python -c 가 뒤에 오는 문자열 인자를 python VM으로 수행하는 것과 같음.
- $( ) : 소가로 안의 명령을 실행하고 그 명령의 출력문자열로 대체됨: command substitution이라고 불림.
2023.10.01 - [Linux/shell] - [Shell] command substitution
2023.09.29 - [utils] - [Util] curl 간단사용법 정리 : web의 자원 다운로드하기.
사실 linux 버전도 설치후 나오는 환경변수 설정 부분에서 경로(path)만 차이가 나는 수준에 불과함.
Linux (Ubuntu)
2023.09.05 - [Linux] - [Linux] homebrew 설치하기 (Ubuntu)
Formula and Cask
Homebrew는 기본적으로 CLI(Command-Line Interface) 기반의 프로그램 설치를 지원하며, 이를 "포뮬러(formula)"라고 부름.
- Formula는 커맨드라인 프로그램이나 라이브러리 등 터미널 기반에서 동작하는 소프트웨어 패키지를 의미함.
또한 Cask라는 확장을 통해 GUI(Graphical User Interface) 기반의 응용 프로그램도 쉽게 설치할 수 있게 되었음.
- Cask는 Formula와 달리, GUI를 가진 macOS 애플리케이션들을 관리하는 데 사용됨.
- 예를 들어,
brew install --cask firefox
라는 명령어로 웹 브라우저와 같은 GUI 소프트웨어를 설치할 수 있음.
Homebrew에서 지원하는 주요 요소는 다음과 같음.
- 포뮬러 (Formula): CLI 프로그램이나 라이브러리 같은 터미널 기반 패키지를 의미함.
- Cask: GUI 기반의 macOS 애플리케이션 패키지를 관리하는 시스템임.
- Tap: 기본 Homebrew 저장소에 없는 패키지를 설치할 수 있도록 하는 추가 저장소를 의미함.
2023.12.15 - [Mac] - [Homebrew] Formula 와 cask 의 차이.
기본사용법
Homebrew에서 자주 사용되는 명령어는 다음과 같음:
brew search [패키지명]
: 설치 가능한 패키지를 검색하는 명령어임.brew install [Formula명]
: 터미널 기반 패키지를 설치하는 명령어임.brew install --cask [패키지명]
: GUI 애플리케이션을 설치하는 명령어임.brew upgrade
: 설치된 패키지를 업데이트하는 명령어임.brew uninstall [패키지명]
: 패키지를 제거하는 명령어임.
2023.12.15 - [Mac] - [Homebrew] 사용법 요약본
관련 URLs
'utils' 카테고리의 다른 글
[vscode] Debug 사용법 요약. (3) | 2024.10.09 |
---|---|
[Summary] Package Manager (1) | 2024.09.08 |
[Utils] winget 간단 사용법 (0) | 2024.09.08 |
[Utils] winget: Window Package Manager (2) | 2024.09.08 |
[Utils] vim (or nvim) 에서의 register (1) | 2024.06.02 |