본문 바로가기
utils

[Utils] homebrew

by ds31x 2024. 9. 8.

Homebrew란?

Homebrew는 2009년 Max Howell에 의해 처음 개발된 오픈소스 package manager임.

  • 처음에는 macOS에서 소프트웨어 설치를 간편하게 하기 위해 만들어졌으며,
  • 이후 Linux도 지원하게 되었음 (Linux 지원은 2020년에 공식적으로 시작)

https://dsaint31.me/mkdocs_site/CE/ch15/ce15_2_5_package_management/

 

BME228

Package Management : apt, yum, brew 등등 SW들의 경우 다양한 기존 라이브러리에 의존할 수 밖에 없는데, 해당 라이브러리들도 계속해서 버전이 올라가기 때문에 이들 의존성을 관리해주는 건 쉬운 문제

dsaint31.me


설치하기

shell script로 설치하면 되기 때문에 아래의 정식 사이트에서 시키는 대로 하면 된다.


 

Docs of Official Site (한국어도 지원됨)

https://brew.sh/index

 

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh


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

 

[Shell] command substitution

command substitution (명령어치환)우리나라말로 명령어 치환 이라고 불리며,특정 명령어의 수행결과를 문자열로 입력받는 형태로 셀프로그래밍 등에서 사용됨.command substitution 사용법아래 예제는 resu

ds31x.tistory.com

2023.09.29 - [utils] - [Util] curl 간단사용법 정리 : web의 자원 다운로드하기.

 

[Util] curl 간단사용법 정리 : web의 자원 다운로드하기.

CLI (command line interface)로 URL을 통해,특정 자원(resource. 주로 설치파일이나 image등)을 웹으로부터 가져와 저장하는 tool. 엄밀히 말하면 다운로드만 하는 건 아님.다양한 프로토콜들(http, https, ftp, pop

ds31x.tistory.com

 

사실 linux 버전도 설치후 나오는 환경변수 설정 부분에서 경로(path)만 차이가 나는 수준에 불과함.


Linux (Ubuntu)

2023.09.05 - [Linux] - [Linux] homebrew 설치하기 (Ubuntu)

 

[Linux] homebrew 설치하기 (Ubuntu)

Homebrew는 Max Howell이 만든 패키지 관리자 (Debian 계열 linux의 apt-get 또는 Windows 의 winget과 비슷)임. macOS 용 으로 2009년 ruby로 개발됨. 사실상 macOS에서는 표준 패키지 관리자임. 최근 들어 linux 및 WSL에

ds31x.tistory.com

https://ds31x.tistory.com/97

 

[Error] brew설치 중 sudo 암호가 입력 안되는 경우

정상적인 암호를 넣어도 진행이 안되는 경우가 있다. 주로 aws의 lightsail의 ubuntu에서 발생한다. 의심이 가는 건 private key를 통한 ssh로 최초 접속이라는 점이 문제의 원인이 되는 거 같은데... passwd

ds31x.tistory.com

 


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] Formula 와 cask 의 차이.

docs.brew.sh/Manpage 의 Terminology에 따르면 다음과 같이 formula와 cask를 기재하고 있음. formula: Homebrew package definition that builds from upstream sources cask: Homebrew package definition that installs macOS native applications http

ds31x.tistory.com


기본사용법

Homebrew에서 자주 사용되는 명령어는 다음과 같음:

  • brew search [패키지명]: 설치 가능한 패키지를 검색하는 명령어임.
  • brew install [Formula명]: 터미널 기반 패키지를 설치하는 명령어임.
  • brew install --cask [패키지명]: GUI 애플리케이션을 설치하는 명령어임.
  • brew upgrade: 설치된 패키지를 업데이트하는 명령어임.
  • brew uninstall [패키지명]: 패키지를 제거하는 명령어임.

2023.12.15 - [Mac] - [Homebrew] 사용법 요약본

 

[Homebrew] 사용법 요약본

Homebrew 사용법 요약 brew --versionbrew의 버전을 출력함.brew updatebrew를 최신버전으로 업데이트.brew upgradebrew의 모든 Formula package를 upgradecask package들은 제외됨.단, --greedy 옵션을 사용할 경우,cask도 포

ds31x.tistory.com


관련 URLs

https://brew.sh

 

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh

 

'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