41

On my Mac OS X machine, how would you recommend I install command line software and other packages? I've been using MacPorts and it always seems quite slow, presumably because it has to compile the packages on-the-fly.

I'd much prefer a package management system that has binary packages, saving me the need to compile things every time I want to download something new. I think Fink has binaries for some of the packages, but I usually see MacPorts recommended as the system to use.

Which do you think works better and why? (Or is there another system that I haven't heard of?)

0

4 Answers 4

27

I used to use Macports because:

  • It is generally more up to date
  • Macports seems to be more common / popular
  • Everyone else I work with uses it

When I did my own research on this topic when I got my MBP last fall, Macports seemed to be most commonly recommended for reason #1 above, hence reason #2 (and probably reason #3).

Compiling every package doesn't bother me. It is usually fast enough that it doesn't interfere with work. But you might look into port binaries if you're going to use macports.

However, I quit using Macports.

There is also a new tool in this space called Homebrew. I switched from Macports to Homebrew a few weeks ago and I'm pleased as punch. I like:

  • It doesn't install duplicate libraries - it uses the system's existing libs.
  • It installs in the user home directory - no sudo required and backs up to TimeMachine.

Homebrew works on Leopard or Snow Leopard, though sometimes Formulas need to be modified on Leopard.

I think all my coworkers have now switched to Homebrew. It is also gaining traction in the Ruby and Erlang (and possibly other OSS?) communities.

3
  • 4
    re Homebrew not duplicating libraries - I would read whay Macports uses its own copies trac.macports.org/wiki/FAQ#ownlibs
    – mmmmmm
    Sep 16, 2009 at 9:31
  • Regarding Homebrew, this was also interesting: superuser.com/questions/118384/…
    – Jonik
    Mar 11, 2010 at 6:39
  • Homebrew is just way nicer to use that MacPorts or Fink. And if it's missing any packages that you need it's easy to contribute your own formula to add it. Seriously, use Homebrew to start - chances are you won't go looking for anything else.
    – elasticrat
    Nov 21, 2010 at 14:01
14

You don't have to pick between the two.

MacPorts installs software to /opt/local. Fink installs to /sw.

Both leave the Darwin base system untouched, and the two can co-exist peacefully.

Fink's binary packages are great, but they aren't always up-to-date. I tend to use Fink when they've got an up-to-date package, and I build from MacPorts if they don't.

Some packages are only on one or the other, so it's handy to have them both at the ready.

5
  • 2
    But still, my question remains. You don't provide any rhyme or reason as to which I should use in which situations. Aug 24, 2009 at 3:19
  • 1
    I'm guessing you posted this comment before I posted my revision.
    – Legion
    Aug 24, 2009 at 3:22
  • 1
    @Ben: How does the question remain? Legion gave the pros and cons of both the options so you can make an education decision. What else is he supposed to do, decide for you?
    – Josh Hunt
    Aug 24, 2009 at 4:12
  • 3
    How do you handle dependencies? If fink package A and MacPorts package B both depend on libThing do you end up with two versions of libThing (one from each package manager)? Aug 24, 2009 at 4:33
  • 1
    joshhunt: When I posted the comment, only the first three lines of his answer were there; he added the other two after I commented. Aug 26, 2009 at 3:27
4

Fink partisan here, because

  • The packages of interest to particle physicists (like me!) are very up-to-date
  • I use debian on my linux boxes. The fink command line is a lot like aptitude, and I'm used to the dpkg underpinnings
4

If you only install a few programs, anything (fink, macports, homebrew) will be fine.

But if you are a heavy user, I think only macports is suitable. fink's package is a bit too old. homebrew is a too young project.

Also, recently I've heard someone using pkgsrc on mac os x. And I may give pkgsrc a try. (I am using macports now, and have 418 ports installed currently.)

1
  • 2
    With "fink's package is a bit too old", do you mean fink is too old, or the packages provided by fink are too old? Jan 9, 2010 at 0:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .