I have recently taken the leap into using terminal over GUI's in order to learn how to use it. I use a range of tools and apps in my development process for mySQL, PHP, Pre-Processing amongst others. Overall it’s been a great decision but has come with a few transitional problems as I get used to it all. Thankfully though I am getting the hang of it and some things have become just so much easier especially mySQL.
When doing research I came across Homebrew package manager for OSX. Homebrew allows you to easily install/uninstall packages through Terminal. The installation of Homebrew itself was a breeze using a single Terminal command:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)”
After installation you can then use some crazily easy commands such as:
// Update Homebrew and all formulae brew update // Get a list of warnings for errors with your installations brew doctor // Clean up outdated versions of formulae (which aren’t deleted automatically when updated) brew cleanup // Install new package brew install // Uninstall package brew remove
For installing mySQL and git this became as easy as just running the command:
brew install mysql brew install git
I also like to run brew doctor command between installations just to make sure everything is alright.
I'll be honest, I don't think I'm really getting the full benefits of using Homebrew.
From looking on the GitHub page as far as I can tell I really only seem to need git and mySQL. Actually the hardest part of using Homebrew for me was understanding what packages were available to install apart from the big names. If I were needing to install Ruby and other stuff it would be of greater benefit. That being said though even though I only used it for two things it was lightweight and easy to use tool.
There are other package managers out there such as MacPorts and Fink but I liked how Homebrew uses the existing libraries on the system instead of installing its own versions of stuff you already have. If you think you would get more benefit from a package manager I'd highly recommend it.