How to install software packages on a Mac? (MacPorts, Fink, anything better?)
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?)
Solution 1:
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.
Solution 2:
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.
Solution 3:
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 likeaptitude
, and I'm used to thedpkg
underpinnings
Solution 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.)