Homebrew와 Macports가 공존하도록 강요합니까? 통해 상당히 많은 패키지를 설치했습니다. 이제 Homebrew를 사용

몇 년 동안 사용해온 MacOSX 시스템이 있으며이 기간 동안 Macports를 통해 상당히 많은 패키지를 설치했습니다.

이제 Homebrew를 사용 해보고 싶지만 여기에서 읽은 내용과 Homebrew 및 Macports의 기본 설치가 쉽게 공존 할 수 없다는 것이 분명합니다.

매일 매일의 MacOSX 작업에는 다양한 Macports 설치 유틸리티를 사용하기 때문에 Macports를 제거 할 수있는 옵션은 아닙니다. 또한, 제 자신의 자체 개발 유틸리티는 이제 Macports와 상호 의존적입니다. 마지막으로, 내가 일상적으로 사용하는 많은 실행 파일과 공유 라이브러리가 이제 / usr / local에 설치되며, 디렉토리 트리를 지우면 시스템을 빠르게 사용할 수 없게됩니다.

그래서 내 질문은 이것입니다 : Macports와 공존 할 수있는 Homebrew를 설치하는 다른 방법을 가진 사람이 있습니까? 구체적으로 Homebrew가 / usr / local 대신 / usr / local / homebrew와 같은 디렉토리 트리를 활용하는 방법을 알아 낸 사람이 있습니까?

문서에 대한 제안이나 조언에 미리 감사드립니다.



답변

Homebrew에 자체 디렉토리를 사용하도록 지시 한 다음 경로에 추가 할 수 있습니다. 같은 목적이 아니지만 설치 안내서에서 발췌 한 내용은 다음과 같습니다.

여러 설치

tarball을 추출 할 때마다 Homebrew 설치를 작성하십시오. 어떤 brew 명령을 호출하든 패키지가 설치됩니다. 예를 들어 / usr / local의 시스템 라이브러리 세트와 ~ / homebrew의 개발을 위해 수정 된 공식을 사용할 수 있습니다.

출처 : https://github.com/mxcl/homebrew/wiki/installation


답변

그것들을 공존시키는 나의 방법은 기본적으로 MacPorts를 보이지 않게하고 MacPorts 프로그램을 호출 할 때 보이게하는 것입니다. 즉, 다음과 같은 스크립트로 MacPorts 프로그램을 래핑하십시오.

if [ "$#" -le 0 ]; then
  echo "Usage: $0 command [arg1, arg2, ...]" >&2
  exit 1
fi
if [[ -z $MACPORTS_PREFIX ]]; then
  MACPORTS_PREFIX='/opt/local'
fi
export PATH="$MACPORTS_PREFIX/bin:$MACPORTS_PREFIX/sbin:$PATH"
export DYLD_LIBRARY_PATH="$MACPORTS_PREFIX/lib:$DYLD_LIBRARY_PATH"
export CPATH="$MACPORTS_PREFIX/include:$CPATH"
command=$1
shift
exec $command $*

이 스크립트의 이름을로 지정 macports.sh하면 줄 바꿈 실행 macports.sh macports_bin과 같은 줄 바꿈을 수행 할 수 있습니다 .macports.sh portport

편의를 위해, 당신은 넣을 수 있습니다 macports.sh something명령 자체와 같은 이름을 가진 일부 스크립트로와 같은 홈 디렉토리에 넣어 ~/bin, ~/.local/bin

한 달 전에 블로그 게시물을 작성 했습니다 . 세부 사항을 살펴 보려면 읽을 수 있습니다.


답변