Mac – List all installed macOS packages

high sierrahomebrewmacportsmamppackage-management

I've inherited a pre-owned Mac running macOS High Sierra. I wish to use it for Web app development. It's been well-used by the previous owner for Software development and DevOps.

It runs like a HAL9000 (I suspect some Mac guru has configured it thus). So I do not wish to wipe and reinstall macOS. I wish to determine a list of all the apps and packages along with their version information installed via various sources like Mac App Store, manually installed software, Homebrew, MacPorts, Fink etc. For each app/package I am looking to obtain the following information:

  1. Installed version.

  2. Installation source, i.e. via a package manager (Homebrew, MacPorts, Fink), macOS pre-installed, or unknown (direct download).

  3. Primary configuration file location. For e.g. httdp.conf, my.cnf, php.ini bin and log dirs for A++ etc.

I don't think of the Mac App Store as a package manager per-se, and I guess the app are tied to ones Apple ID than the machine, right?
By knowing the source or installation of package will help me with cleanup on unneeded apps and upgradation of the rest.

Additionally, it will be really helpful to identify components installed on virtual machines, XAMPP, MAMP environments etc. which have been in use.

I know theres containerisation, as Docker is installed.

When I say packages, I'm primarily interested in:

  1. Major system services and Development libraries.

  2. RDBMS, such as MySQL, MariaDB, PostgreSQL etc.

  3. Web servers, such as Apache, Tomcat, Nginx, JBoss etc.

  4. Core language libraries, such as Python, PHP, Java etc. If filtering is a hassle, all is good too from library to GUI app.

  5. Programming language frameworks installed, such as PHP: Laravel, CodeIgniter; Python: MySQL Connectors etc.

  6. Testing frameworks, such as PHPUnit.

  7. Additional component packages and plugins installed/active beyond default configuration.

  8. Front-end tooling, such as CSS: Bootstrap, JavaScript: Libraries. I'm guessing these would be installed in specific development environments not the whole machine? I don't think it would be possible to identify this level of environment for reuse and they tend to be set-up according to developer preferences and and the primary IDE/tools they use.

  9. Developer tools, such FTP/SFTP Apps, Espresso, CSEdit, LiveStyle.

  10. Web Browsers and associated tools, such as extensions and bookmarklets that would complete a full audit of macOS development environment.

Speaking of Editors & IDE's, I've got a ton of them, including Eclipse, Codekit, PhpStorm, Brackets, Sublime Text 3, Coda, TextWrangler, BBEdit, TextMate, Atom etc.

As a other way round ToDo, it would be great to have a general system audit tool and I could filter out.

Anyway, the primary question is how of identify the source package installer; so I can reverse out or upgrade cleanly. I know brew will tell you what it has installed but not whether a component already exists natively or otherwise.

I'll be amazed if anyone responds to this convoluted inquiry!

TL;DR, I am looking to compile a list of anything and everything installed in the OS over the default install.

Best Answer

"brew List" will give you a list of packages installed by Homebrew and "port installed" will do the same for MacPorts. I don't know a similar command for Fink but it should be listed in the Fink User's Guide.

To get a more general list of installed software, go to "About This Mac" found under the Apple menu. There are two buttons on the image that pops up. Select "System Reports". This opens a window which lists about everything for your Mac. On the left side of the window, about two-thirds of the way down is the word Software. Click on this and just explore. It will tell you much about the installed software.