Macports And Fink: Software Packaging For Mac
Definitely Homebrew. I started with Fink, then switched to MacPorts (happier), then Homebrew (much, much happier). These are my reasons for using each (a pro list if you will): Fink. Apt-based - feel right at home if you come from a Debian-based environment.
Binary packages - packages are available as binaries so no long compile times. Practically though I've found that the pre-compiled binaries were always outdated and I had to compile stuff for my system anyways. Decent selection of packages MacPorts. Biggest selection of packages/ports. Generally very up to date. Nice that lets you customise the build.
Easy and intuitive port files Homebrew. Very up to date. Maximum leveraging of what comes with OS X. Unlike Fink or MacPorts, it does not require you to build/install ruby and libraries from scratch just to install some small Ruby-based tool.
Installs into /usr/local so does not need you to modify PATH anywhere. Everything owned by user, so no packages ever need potentially risky root access to install. Every installed package is cleanly sandboxed into its own cellar so you don't have stray files all over your system, just symlinks from bin, man, etc. to create your own formula files (ie. Package descriptors).
Since you're from a ruby background, another plus is everything is written in ruby and all formulas are simple ruby scripts pkgin. Very up to date. Faster installs because of Pre-compiled binaries. Everything installed in /opt/pkg/. backed by pkgsrc community and Joyent.
Known to work on NetBSD, DragonFly BSD, Solaris, Debian, Mac OS X, Minix. MacPorts It is more independent of Mac OS X, this means MacPorts will just ignore many of the system libraries and softwares that already available in Mac OS X and, which could be slower when the utility you install requires some set of large libraries and softwares. But this kind of choice is safer because the packages you installed are less influenced by Apple's system update/upgrade procedure. Homebrew It is more dependent on existing Mac OS X installed packages, so this will speed up the installation of packages and minimize redundant libraries. But the risk is installed packages might be broken because of Apple's system update/upgrade. So, these are the two different kind of tradeoff.
Also, Homebrew takes over /usr/local by default, with which because it somehow conflict with the unix-tradition and might cause problems if you’ve already installed anything there (MySQL, etc.) Apart from these differences, considering the packages these two can offer, you can check with these two commands if you already have MacPorts/Homebrew installed, which show you the packages they currently provided: port list wc -l brew search wc -l And you will find out that MacPorts has much more packages than Homebrew. (19399 v.s 3583 on May 13 2016). As a remark on the differing number of packages: Homebrew decidedly does not include packages for programming languages which have their own packaging system (rubygems/pip/cpan) or for software for which an arguably more appropriate OS X installer is available (MacTeX). Also, duplicates and older versions are not in the default repo but includes in alternate tap repos. Compare this to macports, which, eg contains an IPython port for all included Python versions.
It is kind of a different philosophy which naturally increases the number of packages in macports. – Nov 17 '13 at 12:42. Just to add some of my own thoughts that seem true-ish circa late 2014 at least. Homebrew, as of a couple of years ago, definitely has the upper hand in terms of mindshare. You'll find a lot of blogs with people talking about how much happier they are with Homebrew - usually because of the whole 'MacPorts pulls in the whole world' vs 'Homebrew makes use of what you already have' thing.
However, IMO, MacPorts is a different beast now than it was a couple of years ago. When I first switched to OS X & was using MacPorts the MP philosophy was indeed frustrating because almost everything was built from source. A new installation was particularly painful/slow. However over the past year or so, based purely on my own impressions, it seems like 90% of MP packages are binaries & so installation is actually really fast now. From what I gather Homebrew is also moving in this direction with 'Bottles' but i get the impression that most things you install via HB at this point in time will be compiled from source. So, if only to offer a countervailing opinion, MacPorts seems to actually be the 'faster ' option these days. However most peoples opinions of MP seem to be based on experiences from circa 2011-12 or so & dont really take this into account.
Take this with a grain of salt though as I'm not a regular HB user (and its rather painful to use both side by side). I do think HB has advantages that mean it will probably 'win the war' in the long run though.
HB is all Ruby whereas MacPorts, and its package formulae, are written in TCL which is.not exactly a popular scripting language. That said its pretty damn simple to create your own portfile. HB is based around GitHub & thus seems a lot more welcoming to new contributors whereas MacPorts hosts its own SVN repository somewhere I think - which basically reflects the different ages of both projects I suppose.
As mentioned the general consensus is that MacPorts has been superseded by HB &, rightly or wrongly, that draws more people towards it. Otherwise YaOZl & kLy covered the main difference in terms of sudo, dependencies etc pretty well. Personally I do find that MacPorts sometimes leads to some headaches in terms of other programs not expecting anything to be in /opt/local, things being installed with root permissions etc & there are some things that are generally best not installed with MacPorts (e.g. You can install Rails via MacPorts but you'd be crazy not to install it via Ruby's normal Gem management).
Other than that though I'm a big fan of the MacPorts philosophy of building its own little world & not relying on some prepackaged OS X library - when it works, and it mostly does, everything is dead simple. Which is what you want of a Package Manager really. And as i mentioned, at this point in time its pretty damn quick to set most things up. Hope some of that was useful. Brew was completely smooth for me to use, so I'm unable to tell about its cons.
Some disadvantages of MacPorts:. you, hence you must have an Apple developer account (which now requires credit card) and download almost 3.5 GB of stuff;. if port 873 (rsync) is blocked by your firewall, you'll have to;. the HTTP(S) server from which packages are downloaded is (often) extremely slow (under 20 KiB/s yesterday; tested from a couple very reliable Gigabit connections in different countries) and may fail with error, forcing you to redo everything from scratch. There are several very popular questions about the first two points.
MacPorts is a command-line package manager for macOS. If you’re familiar with apt-get or yum from Linux, then you know what a package manager does.
Macports And Fink: Software Packaging For Mac Download
It handles downloading, installing, updating and managing certain applications and their dependencies within macOS. With MacPorts you can install Linux applications on macOS from the command line. What can I install? Most of these applications are open-source, command-line utilities, but there are a fair share of “real” open-source, GUI-based applications. Like any package manager, MacPorts searches a library of downloadable software. When you find what you need, MacPorts downloads and installs the appropriate software and dependencies in the right place. This saves you the trouble of downloading repositories from GitHub and building software from source packages while still getting access to a wide range of Linux’s best command-line tools and GUI applications.
If you read our post on, you know that macOS is missing some “standard” Linux terminal commands out of the box. Mac users won’t find common command-line tools like nmap or wget, and there’s no native package manager on the Mac to provide them. You can also use MacPorts to install open-source software like GIMP.
Installing MacPorts MacPorts requires the latest version of Xcode for your OS version. You can download Xcode from the. While you can run most of the MacPort commands without Xcode, you won’t be able to run many of the packages until you install it. Installing Xcode Developer Tools 1. Open Terminal and use the command below to trigger the installation of macOS’ developer tools. Xcode-select -install 2. Click “Install” in the pop-up box.
Wait for the files to download and install. Installing the MacPorts Package If you already have the Xcode and the developer tools installed, you can jump right to this step.
Make sure you scroll down to choose the version that matches your version of macOS. At the time of publication, there is no version of MacPorts for Apple’s newest OS, High Sierra. Install the package from your Downloads folder.
Open a new Terminal window and run the command port. If that command returns “MacPorts 2.4.1” and provides a slightly different-looking command prompt, then you’re ready to rock! Install Linux Apps with MacPorts To install some Linux apps on macOS with MacPorts, we will first need to search for the relevant programs. To see a gigantic list of all available packages, open Terminal, type port list and press Enter. Obviously, that’s a lot to look through. We can use the port search command to find something specific.
Let’s search for nmap using the command below. “Most of these applications are open-source, command-line utilities, but there are a fair share of “real” open-source, GUI-based applications. As well.” That’s a rather condescending statement.
As if command-line utilities were somehow ‘unreal’ or phony applications. Considering that in a paragraph further down, you state that macOS is missing some of those utilities. I realize that Mac users are spoiled by being able to do everything through a GUI and would never dirty their hands with CLI but command-line utilities can quite often perform the task better and quicker than GUI applications. Comments are closed.