MacPorts, Fink 및 Homebrew의 장단점은 무엇입니까?


154

우분투 리눅스에서 Mac으로 마이그레이션하고 있으며 모든 것이 새로운 것이며 많은 것을 다시 배우고 있습니다.

Linux에서는 소프트웨어 패키지를 관리 할 수있는 훌륭한 도구가있었습니다. Mac에서 대안을 찾은 후 MacPorts, Fink 및 Homebrew에 대해 발견했습니다.

이 컴퓨터를 사용하여 Ruby on Rails 애플리케이션을 개발할 것입니다.

그렇다면 차이점은 무엇입니까? 장점과 단점은 무엇입니까? 어느 것이 가장 잘 유지되고 더 많은 패키지가 있습니까?


5
제목을 실제 질문과 일치하도록 편집했습니다. 대부분의 Stack Exchange 사이트에서 "최고"를 요구하는 질문은 눈살을 찌푸립니다.
Loïc Wolff

1
루비의 보석으로는 충분하지 않은 이유가 무엇입니까?
Mark

중복이 항상 나쁘지 않은 이유에 대한 자세한 내용 : apple.stackexchange.com/questions/11461/… 또한 몇 가지 대안이 있습니다
cregox

직접 사용하지는 않았지만 pkgin 과의 비교 도 유용 할 것입니다.
Dennis

답변:


118

확실히 Homebrew. Fink로 시작한 다음 MacPorts (행복한), Homebrew (훨씬, 훨씬 행복)로 전환했습니다. 이것들은 각각을 사용하는 이유입니다 (당신이 원한다면 프로 목록).

핑크

  • Apt 기반-데비안 기반 환경에서 온 경우 집에서 바로 느낄 수 있습니다.
  • 바이너리 패키지-패키지는 바이너리로 제공되므로 컴파일 시간이 길지 않습니다. 실제로 사전 컴파일 된 이진 파일이 항상 오래되었다는 것을 알았지 만 어쨌든 내 시스템을 위해 자료를 컴파일해야했습니다.
  • 알맞은 패키지 선택

맥 포트

  • 가장 큰 패키지 / 포트 선택
  • 일반적으로 최신
  • 빌드를 사용자 정의 할 수있는 멋진 변형 시스템
  • 쉽고 직관적 인 포트 파일

사제

  • 매우 최신
  • OS X와 ​​함께 제공되는 기능을 최대한 활용합니다. Fink 또는 MacPorts와 달리 일부 Ruby 기반 도구를 설치하기 위해 처음부터 루비 및 라이브러리를 빌드 / 설치할 필요가 없습니다.
  • 에 설치 /usr/local하므로 PATH어디서나 수정할 필요가 없습니다.
  • 사용자가 소유 한 모든 것이므로 패키지를 설치하기 위해 잠재적으로 위험한 루트 액세스가 필요하지 않습니다
  • 설치된 모든 패키지는 자체 지하실에 깨끗하게 샌드 박스 처리되므로 시스템 전체에 스트레이 파일이없고 bin, man 등의 심볼릭 링크 만 있습니다.
  • 자신 만의 공식 파일 (예 : 패키지 설명자)을 엄청나게 쉽게 만들 수 있습니다.
  • 당신이 루비 배경에서 왔기 때문에, 또 다른 플러스는 모든 것이 루비로 작성되고 모든 공식은 간단한 루비 스크립트입니다

pkgin

  • 매우 최신
  • 사전 컴파일 된 바이너리로 인해 빠른 설치
  • / opt / pkg /에 설치된 모든 것
  • pkgsrc 커뮤니티와 Joyent의 지원
  • NetBSD, DragonFly BSD, Solaris, Debian, Mac OS X, Minix에서 작동하는 것으로 알려져 있습니다.

https://pkgsrc.joyent.com/install-on-osx/

http://pkgin.net/


33
자가 양조의 경우 "/ usr / local에 설치"및 "OS X와 ​​함께 제공되는 기능 활용"이 문제라고 주장 할 수 있습니다. 이것이 다른 패키징 시스템을 사용하는 두 가지 주요 이유
Mark

5
/ usr / local / bin이 기본 Mac OS X 경로에 있지 않다면 PATH를 수정해야합니다. brew는 한 번만 수행하면됩니다. 설치하는 저장소 ( "케 그만"제외). 여기는 소음입니다.
Terry N

4
@Mark 어떤 포장 시스템을 선호하십니까?
David Moles 2013

5
@ jedd.ahyoung / opt / local에 넣은 macports를 선호합니다 (find는 / sw에 넣습니다)
Mark

5
@ GDP2에 동의해야합니다. 나는 리눅스에서 새로운 맥 사용자입니다. 양조장 개발자는 태도가 매우 나쁩니다. 이 의견을 게시 할 때 brew 's github에 13 개의 문제 만 있다고 믿을 수 있습니까? 그들은 사용자의 말을 듣고 싶지 않습니다. 그들은 어떤 문제도 원하지 않습니다. 그들은 당신이 열었던 문제를 즉시 무시하고 즉시 닫습니다. 나는 어떤 github 프로젝트에서도 그런 태도를 보지 못했습니다. 새로운 사용자로서, 나는 몇 달 동안 brew를 사용했고 오늘 나는 다른 것으로 전환하려고 생각 하고이 질문을 발견했습니다. brew를 사용한 경험은 지금까지 내가 경험 한 최악의 경험입니다
sgon00

57

맥 포트

Mac OS X와 ​​더 독립적입니다. 이는 MacPorts가 이미 Mac OS X에서 사용 가능한 많은 시스템 라이브러리 및 소프트웨어를 무시하고 대신 자체적으로 가져옵니다. 설치하는 유틸리티에 큰 세트가 필요할 때 속도가 느려질 수 있습니다 라이브러리 및 소프트웨어.

그러나 설치 한 패키지가 Apple의 시스템 업데이트 / 업그레이드 절차의 영향을 덜 받기 때문에 이러한 종류의 선택이 더 안전합니다.


사제

기존 Mac OS X 설치 패키지에 더 의존하므로 패키지 설치 속도를 높이고 중복 라이브러리를 최소화합니다.

그러나 Apple의 시스템 업데이트 / 업그레이드로 인해 설치된 패키지가 손상 될 위험이 있습니다.

이것들은 두 가지 다른 종류의 트레이드 오프입니다.

또한 Homebrew는 기본적으로 / usr / local 을 인계받습니다. 일부 사람들은 유닉스 전통과 충돌하기 때문에 이것을 좋아하지 않으며 이미 설치된 것을 설치하면 문제가 발생할 수 있습니다 (MySQL 등).


이러한 차이점을 제외하고,이 두 가지가 제공 할 수있는 패키지를 고려하면, 이미 제공 한 패키지를 보여주는 MacPorts / Homebrew가 이미 설치되어 있다면이 두 가지 명령으로 확인할 수 있습니다.

port list | wc -l
brew search | wc -l

그리고 MacPorts에는 Homebrew보다 더 많은 패키지가 있다는 것을 알게 될 것입니다.

(2016 년 5 월 13 일에 19399 vs 3583)


17
다른 수의 패키지에 대한 언급 : Homebrew는 자체 패키징 시스템 (rubygems / pip / cpan…)이있는 프로그래밍 언어 용 패키지 또는보다 적절한 OS X 설치 프로그램이있는 소프트웨어 용 패키지 (MacTeX)를 포함하지 않습니다. . 또한 복제본 및 이전 버전은 기본 리포지토리 에 없지만 대체 리포지토리에 포함됩니다 . 이것을 포함 된 모든 파이썬 버전에 대한 IPython 포트를 포함하는 macports와 비교하십시오. macports의 패키지 수를 자연스럽게 늘리는 것은 다른 철학입니다.
Debilski

2
훌륭한 링크! terrychay.com/article/macports-vs-homebrew.shtml 감사합니다!
Jeff Burdges

@ Yaaz, 확실히 당신은 이외의 다른 것을 사용하도록 homebrew를 변경할 수 있습니다 /usr/local?
Pacerier

41

적어도 2014 년 말 경에 참으로 보이는 내 자신의 생각을 추가하기 만하면됩니다.

몇 년 전부터 홈브류는 분명히 마음가짐의 측면에서 우위를 점했습니다. 사람들이 Homebrew에 대해 얼마나 행복한 지에 대해 이야기하는 블로그가 많이 있습니다. 일반적으로 "MacPorts가 전 세계를 끌어 당깁니다"와 "Homebrew가 이미 가지고있는 것을 사용합니다"때문입니다.

그러나 IMO, MacPorts는 몇 년 전과는 다른 야수입니다. OS X로 처음 전환하고 MacPorts를 사용할 때 MP 철학은 거의 모든 것이 소스에서 만들어 졌기 때문에 실제로 실망했습니다. 새로운 설치는 특히 고통스럽고 느 렸습니다. 그러나 지난 1 년 동안 내 자신의 인상을 기반으로 MP 패키지의 90 %가 바이너리 인 것처럼 보이므로 실제로 실제로 설치가 빠릅니다. 내가 수집 한 것에서 Homebrew는 "Bottles"로이 방향으로 나아가고 있지만이 시점에서 HB를 통해 설치하는 대부분의 것들이 소스에서 컴파일된다는 인상을받습니다.

따라서 반박하는 의견을 제시하기 만한다면 오늘날 MacPorts는 실제로 "빠른"옵션 인 것 같습니다. 그러나 MP에 대한 대부분의 사람들의 의견은 2011-12 년경의 경험에 근거한 것으로 보이며 실제로 이것을 고려하지 않습니다. 나는 일반 HB 사용자가 아니기 때문에 소금 한 덩어리로 이것을 복용하십시오 (그리고 나란히 사용하기가 다소 고통 스럽습니다).

나는 HB가 장기적으로 "전쟁에서 이길 것"을 의미하는 이점을 가지고 있다고 생각합니다.

  • HB는 모두 루비 인 반면, MacPorts와 그 패키지 공식은 TCL로 작성되었으며, 이는 널리 사용되는 스크립팅 언어가 아닙니다. 그것은 당신 자신의 포트 파일을 만드는 것이 아주 간단하다고 말했습니다.
  • HB는 GitHub를 기반으로하므로 새로운 기고자들에게 훨씬 더 환영받는 것처럼 보입니다 .MacPorts는 내가 생각하는 어딘가에 자체 SVN 저장소를 호스팅합니다. 기본적으로 두 프로젝트의 다른 연령대를 반영합니다.
  • 언급 한 바와 같이, MacPorts는 HB에 의해 대체되었고, 옳고 그름으로 더 많은 사람들을 끌어 들이고 있습니다.

그렇지 않으면 YaOZl & kLy는 sudo, 의존성 등의 주요 차이점을 꽤 잘 다루었습니다. 개인적으로 나는 MacPorts가 때때로 다른 프로그램이있을 것으로 예상되지 않는 다른 프로그램 /opt/local, 루트 권한으로 설치되는 것들 및 MacPorts와 함께 일반적으로 설치되지 않은 것들 (예 : MacPorts이지만 Ruby의 일반적인 Gem 관리를 통해 설치하지 않는 것이 좋습니다.) 그 외에는 MacPorts 철학을 좋아하지만 작은 세계를 구축하고 사전 패키지 된 OS X 라이브러리에 의존하지 않습니다. 작동하고 대부분 수행 할 때 모든 것이 간단합니다. 패키지 관리자가 정말로 원하는 것입니다. 그리고 내가 언급했듯이,이 시점에서 대부분의 것들을 설정하는 것이 아주 빠릅니다.

그 중 일부가 유용하기를 바랍니다.


"일반적인 합의에 따르면 MacPorts가 HB에 의해 대체되었고, 옳고 그름으로 더 많은 사람들을 끌어 들이고 있습니다." ... 이것은 매우 피상적 ​​인 진술처럼 느껴집니다. 인기를 얻는 것과 품질을 제공하는 것은 같지 않으며 결코 두 번째가 첫 번째에 의해 "대체 됨"을 암시하지 않습니다.
Dmitri Zaitsev

3

Brew는 사용하기에 완전히 매끄 럽기 때문에 그 단점에 대해 말할 수 없습니다. MacPorts의 몇 가지 단점 :

처음 두 가지 점에 대해 몇 가지 매우 인기있는 질문이 있습니다.


이것은 10.6에 ImageMagick을 설치 한 경험이었습니다. brew는 매우 쉬웠지만 JP2 델리게이트는 포함되지 않았습니다. imagemagick.org/script/binary-releases.php
Nemo

2
brew와 macports는 Xcode 명령 줄 도구 만 있으면됩니다.
Mark

@Mark 무슨 말인지 모르겠지만, brew는 Xcode없이 완벽하게 작동했습니다.
Nemo

2
Xcode 명령 행 도구를 통해 설치할 수있는 추출 MacPorts 용 컴파일러가 필요합니다 . Xcode 응용 프로그램이 필요하지 않습니다 .
nohillside

1
방화벽 뒤에있을 때 그 일을 동기화하는 것이 얼마나 추악한 지 잊었습니다.
rogerdpack
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.