본문 바로가기

글감 이모저모/IT

Homebrew란 무엇인가!?

1. Homebrew란?

- macOS/Linux에서의 패키지 관리 시스템

- 터미널을 통해 다양한 소프트웨어(CLI, GUI)를 쉽게 설치 및 관리 가능

 

1.1 pacakage란?

- 프로그램을 구성하는 다양한 요소(코드, 라이브러리, 실행 파일 등)를 하나의 단위로 묶은 것

- pacakage를 사용하면 특정 프로그램을 설치, 업데이트, 삭제, 관리하는 과정이 더 간편해짐

ex. python 패키지 : Python 인터프리터, 필요한 라이브러리, 설정 파일 등이 포함된 패키지

 

 

2. Homebrew 특징

- 복잡한 설정 없이 프로그램 설치, 업데이트, 삭제 가능

- macOS에서 기본 제공하지 않는 패키지를 쉽게 설치 가능

- 의존성 문제 자동 해결

- brew 명령어로 간편하게 소프트웨어 관리 가능

- 오픈소스이며 macOS/Linux 지원

- /opt/homebrew 폴더에서 패키지를 관리하여 정리가 쉬움

 

2.1 의존성 문제란?

- 어떤 프로그램을 실행하는데 필요한 다른 패키지가 없어서 프로그램이 제대로 동작하지 않는 상황

ex. Python 패키지
        - pip 같은 패키지 관리자가 없으면 Python 패키지를 설치할 수 없다

        -> Homebrew는 Python을 설치할 때, 필요한 모든 의존성(라이브러리 등)을 자동으로 함께 설치해줌

 

-> Homebrew 의존성 자동 해결의 장점

    - 편리함

    - 시간 절약

    - 버전 충돌 방지

    - 삭제 시 자동 정리

 

3. Homebrew 설치

- 설치법은 다른 블로그 참고!

 

 

4. Homebrew 사용법

brew  <명령어>  <패키지명>

 

- 패키지 설치

brew install <패키지명>		// Formulae(CLI 프로그램) 설치
brew install --cask <앱이름>	// Cask(GUI 앱) 설치

 

- 설치된 패키지 목록 확인

brew list		// 전체 패키지 출력
brew list --formula	// Formulae(CLI 프로그램)만 출력
brew list --cask	// Cask(GUI 프로그램)만 출력

 

- 패키지 업데이트

brew upgrade <패키지명>
또는
brew update <패키지명>

 

- 패키지 삭제

brew uninstall <패키지명>

 

 

5. Homebrew의 Package란?

- Homebrew에는 2종류의 패키지가 있음

    1) Formulae : 터미널에서 실행하는 CLI(Command Line Interface) 프로그램 (ex. git, node, wget)

    2) Casks : GUI 애플리케이션 (ex. Google Chrome, Visual Studio Code, Spotify)

 

 

6. 필수 Homebrew 명령어 정리

명령어 설명
brew install <패키지> 패키지 설치
brew uninstall <패키지> 패키지 삭제
brew upgrade <패키지> 특정 패키지를 최신 버전으로 업데이트
brew upgrade
brew update
모든 패키지를 최신 버전으로 업데이트
brew list 설치된 패키지 목록 확인
brew info <패키지> 패키지 정보 확인 (설치 경로, 버전 등
brew search <키워드> 특정 패키지 검색
brew cleanup 더 이상 필요 없는 캐시 파일 정리
brew autoremove 더 이상 필요 없는 의존성 패키지 삭제
brew doctor Homebrew 상태 점검 및 문제 해결

 

 

 

✨ 알면 좋을 꿀팁 : 특정 버전 설치하기

1. Homebrew의 버전 관리 기능 사용

ex. Python 3.9을 설치하려면:

brew install python@3.9

 

2. 특정 버전 확인하기

brew search python@

 

'글감 이모저모 > IT' 카테고리의 다른 글

sudo? apt??  (0) 2024.11.10
csv란??  (0) 2024.11.09
127.1.1.0 이란?  (0) 2024.11.08