Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm a bit confused about the installation of standard Unix packages on Mac OS X. For example, I have /usr/bin/svn, which is SVN v.1.4.4, but FinkCommander says svn is not installed. The same holds for other packages, like emacs etc.

Is that just a wrong FinkCommander setting? Currently it is set to install everything in /sw, which is not even in the PATH. So, do I just have to set it to install packages to /usr, and it will recognize the installed software? I don't want to install duplicate packages of everything, and it is quite weird that the FinkCommander seems not to be in sync with the installed software.

Or is there any other installer I should be using? Is Mac Ports the recommended installer to use?

(I'm using Mac OS 10.5.8.)

share|improve this question
    
Good question and some great answers. Also check out this one: superuser.com/questions/28529/macports-fink-etc –  Jonik Mar 11 '10 at 6:37
    
As for MacPorts: Compiling every package from scratch is just crazy. I find myself leaving the laptop on for days and nights now just to install R with MacPorts (which first compiles gcc43, perl, automake, glib2, and many more ... ). –  dehmann Apr 6 '10 at 11:23
    
If you want prebuilt binary packages, check out Rudix. –  Telemachus Nov 21 '10 at 14:49

5 Answers 5

up vote 8 down vote accepted

There isn't an official package manager for OS X.

Fink, MacPorts, and Homebrew provide their own differing features and functionality to fill this void.

As pointed out by many users:

  • avoid using /usr
  • until you configure your PATH, packages from different directories won't be found.
share|improve this answer
    
Thanks for the answer. That's quite disappointing. Why can't they offer a proper package manager? :-( –  dehmann Mar 10 '10 at 21:56
4  
Their target audience wouldn't know what to do. The rest of us make it work :-) –  Nerdling Mar 12 '10 at 1:10
    
I pick it as accepted answer, but I'd add that it is actually fine to use multiple managers. At least Fink and MacPorts can coexist, since they install into different directories. –  dehmann Apr 13 '10 at 18:00

Although there is no official Unix / FOSS package manager for Mac OS X, it should be noted that MacPorts was created and is still primarily maintained by Apple's Mac OS X / Darwin engineers. The macports.org website is hosted on Apple's servers, as part of Apple's "MacOSForge.com" project. Because Mac OS X / Darwin is *BSD based, many of Apple's Unix-layer software engineers come from the *BSD traditions, so they modeled MacPorts after the *BSD "ports" model.

Fink was the original open source package manager for Mac OS X, but it does not have the close organizational ties to Apple, and it chose to follow the Debian Linux apt-get tradition.

I'm not sure any of the details above is enough to recommend one over the other. I would say it comes down to which model you're already more familiar with. If you're more familiar with apt-get, go with Fink. If you're more familiar with BSD "ports", go with MacPorts.

As others have said, you're best off leaving Mac OS X's default Unix tools alone. Fink and MacPorts have learned that lesson already and install their own copies of things in their own directory hierarchies (/sw for Fink, /opt for MacPorts). Homebrew has not yet fully learned that lesson, but they will, as soon as some user uses Homebrew to update the built-in copy of, say, Perl or Python, and it has some unforeseen compatibility problem that breaks built-in pieces of Mac OS X, such as installer packages (Mac OS X .pkg bundle files) that use Perl scripts to perform some of the installation tasks.

share|improve this answer
5  
As I understand it, Homebrew installs under /usr/local/, and will thus never overwrite the system Python. –  Pepijn Apr 28 '10 at 21:28
4  
It would be impossible using Homebrew to overwrite your existing components. OSX ships with no /usr/local by default. –  Paul Robinson Nov 21 '10 at 14:07

There is no official package manager for OS X.

Fink is probably saying it's not installed because it's not installed in the Fink path. I ran into problems when installing something from either Fink or MacPorts, or duplicate copies with different version numbers.

Pick one and stick to it. If you feel you have to change, it would be best to wipe out the other package manager and reinstall from the new one.

share|improve this answer

The version of svn you're seeing came with Mac OS X -- not from Fink or any other source.

You can identify different versions using bash's type command. For example, I use MacPorts and installed a newer version of sqlite3:

$ type -a sqlite3
sqlite3 is /opt/local/bin/sqlite3
sqlite3 is /usr/bin/sqlite3

The version in /opt/local/bin came from MacPorts, the version in /usr/bin came with Mac OS X.

I recommend that you do not install Fink or MacPorts binaries into /usr -- leave those alone. Let Fink install in /sw or MacPorts install in /opt/local. Adjust your PATH to find the Fink/MacPorts versions before the standard versions

share|improve this answer
    
Using similar flags, you can use which -a sqlite3 –  Nerdling Mar 10 '10 at 19:14

Another option that gets less attention than Homebrew, MacPorts or Fink is Rudix.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.