사용자 도구

사이트 도구


homebrew

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
homebrew [2020/09/19 12:42]
kwon37xi [Install on Linux]
homebrew [2023/05/09 22:58] (현재)
kwon37xi [brew PATH 후순위로 만들기 / MANPATH 덮어 쓰는 문제 해소]
줄 1: 줄 1:
 ====== HomeBrew ====== ====== HomeBrew ======
   * https://brew.sh   * https://brew.sh
 +  * [[https://docs.brew.sh/Manpage|brew(1) – The Missing Package Manager for macOS (or Linux) — Homebrew Documentation]]
 +  * [[homebrew:formula|Homebrew formula]]
 +  * [[https://github.com/Homebrew/homebrew-autoupdate|homebrew-autoupdate]]
 +
 +
 ===== Linux ===== ===== Linux =====
   * https://github.com/Homebrew/linuxbrew-core   * https://github.com/Homebrew/linuxbrew-core
줄 21: 줄 26:
 echo | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" echo | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
 </code> </code>
 +
 +===== brew PATH 후순위로 만들기 / MANPATH 덮어 쓰는 문제 해소=====
 +  * [[https://unix.stackexchange.com/questions/537062/homebrew-replaced-python3-how-to-reverse|linux - Homebrew replaced Python3, how to reverse? - Unix & Linux Stack Exchange]]
 +  * https://github.com/Homebrew/brew/blob/master/Library/Homebrew/cmd/shellenv.sh
 +  * ''brew shellenv'' 결과를 출력해서 PATH 순서를 바꿔서 넣거나,
 +  * 아니면 ''eval("brew shellenv...")'' 하기 전에, ''OLD_PATH=$PATH'' 를 저장해두고, ''PATH''값을 비워버리고, eval하고, 그 뒤에 다시 ''PATH=$OLD_PATH:$PATH'' 형태로 변경하거나..
 +  * ''MANPATH'' 환경변수가 존재하지 않을 경우 기본으로 ''/etc/manpath.config'' 를 자동으로 따라야한다.
 +  * 하지만, ''brew'' 환경 변수 설정시 ''MANPATH''가 없으면 ''brew'' 전용 경로로 덮어 써 버려서 먼저 ''MANPATH'' 환경변수 설정이 필요하다.
 +  * ''%%manpath --quiet%%'' 명령으로 ''/etc/manpath.config'' 의 설정을 환경변수로 뽑아낼 수 있다.
 +<code sh>
 +export MANPATH=$(manpath --quiet)
 +OLDPATH=$PATH
 +eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
 +export PATH=$OLDPATH:${HOMEBREW_PREFIX}/bin:${HOMEBREW_PREFIX}/sbin
 +
 +# ....
 +</code>
 +===== uninstall/remove homebew on Linux =====
 +<code sh>
 +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"
 +sudo rm -rf /home/linuxbrew
 +
 +# 본인 계정의 ~/.bashrc 에 등록된 homebrew 관련 스크립트 제거
 +</code>
 +
 +===== clean up =====
 +  * brew 패키지 설치는 상당한 용량을 차지한다. 주기적으로 캐시 등의 삭제가 필요하다.
 +
 +<code sh>
 +# 더이상 불필요해진 의존성 삭제
 +brew autoremove
 +
 +# 캐시 전체 삭제
 +brew cleanup --prune=all
 +</code>
 +
 +===== tap =====
 +  * [[https://docs.brew.sh/Taps|Taps (Third-Party Repositories) — Homebrew Documentation]]
 +  * 제 3의 개인별 리포지토리 구성방식.
 +  * 아래 오류 발생시 해당 탭의 설정에 문제가 있는 것임. ''untap'' 하고 제거하고 다른 애플리케이션을 설치하던가 한다.
 +<code>
 +Warning: Calling bottle :unneeded is deprecated! There is no replacement.
 +Please report this issue to the 4d63/tldr tap (not Homebrew/brew or Homebrew/core):
 +  /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/4d63/homebrew-tldr/Formula/tldr.rb:6
 +</code>
 +<code sh>
 +brew remove tldr
 +brew untap 4d63/tldr
 +</code>
 +
 +===== linux fonts =====
 +  * https://github.com/Homebrew/homebrew-linux-fonts
 +<code sh>
 +brew tap linuxbrew/fonts  # 한번만
 +
 +# font 설치
 +
 +# font 디렉토리 연결 : 한번만
 +ln -s /home/linuxbrew/.linuxbrew/share/fonts ~/.local/share/fonts
 +
 +# font 갱신
 +fc-cache -fv
 +</code>
 +
 +===== bundle =====
 +  * ''Brewfile''로 일괄 설치/삭제 등을 할 수 있다.
 +  * ''brew bundle dump'' : 현재 디렉토리에 ''Brewfile''을 생성하고 현재 이미 설치된 모든 항목을 덤프한다.
 +  * ''brew bundle'' : 현재 디렉토리의 ''Brewfile''을 찾아서 설치한다.
 +  * ''brew bundle %%--%%file=/path/to/Brewfile'' : 특정 Brewfile 을 지정해서 설치한다.
 +    * ''%%--no-lock%%'' : ''Brewfile.lock.json'' 생성을 막아준다.
 +
 +===== 유사 패키지 관리자 =====
 +  * [[hubapp|hubapp]]
 +
 +===== 참조 =====
 +  * [[https://www.tecmint.com/linuxbrew-package-manager-for-linux/|Linuxbrew - The Homebrew Package Manager for Linux]]
 +
homebrew.1600486956.txt.gz · 마지막으로 수정됨: 2020/09/19 12:42 저자 kwon37xi