Mac HomeBrew Tips and Tricks



Series: Awesome Tips about Mac
The Problem

Every once in a while, we nee change our workstation and reinstall all softwares. We don’t want to to website, download binary, click it to install for all these tools.

We can use HomeBrew to install them in command line, and even better have one script to install all tools.

Install HomeBrew

  • brew search
    • brew search iterm2
  • brew list: List all installed formulae.
  • brew update: Fetch the newest version of Homebrew and all formulae
  • brew upgrade: Upgrade outdated, unpinned formulae
    • brew upgrade <formula> to update a package
  • brew cleanup: remove old versions of installed formulae
  • brew uninstall the_name
  • brew outdated: Show formulae that have an updated version available.
  • brew doctor: Check your system for potential problems.

brew tap

  • The default formulae: homebrew-core
  • brew tap adds more repositories to the list of formulae that brew tracks, updates, and installs from.
  • brew tap: list tapped repositories
  • brew tap <tapname>: add tap
  • brew untap <tapname>: remove a tap

Homebrew Cask

  • Cask allows us to install large binary files via a command-line tool.
  • Install cask by adding it as a tap: brew tap caskroom/cask
  • brew cask list: with no args, lists installed Casks; given installed Casks, lists staged files

Homebrew Cask Versions

  • Another git repo from homebrew that allows us to install beta or older versions.
  • Install: brew tap homebrew/cask-versions
  • Example: brew cask install atom-beta
  • brew cask uninstall atom-deta
  • brew cask info atom-beta

Bash Completion

  • brew install bash-completion
  • Add bash-completion to your ~/.bash_profile:

Oracle Java vs OpenJDK

Install Oracle Java
  • Install latest Oracle Java: brew cask install java
  • Install older Oracle Java from cask-versions: brew cask install java8
    • Run brew tap caskroom/versions if not added cask-versions before.
Install OpenJDK

#### One Script to Install All

Labels

adsense (5) Algorithm (69) Algorithm Series (35) Android (7) ANT (6) bat (8) Big Data (7) Blogger (14) Bugs (6) Cache (5) Chrome (19) Code Example (29) Code Quality (7) Coding Skills (5) Database (7) Debug (16) Design (5) Dev Tips (63) Eclipse (32) Git (5) Google (33) Guava (7) How to (9) Http Client (8) IDE (7) Interview (88) J2EE (13) J2SE (49) Java (186) JavaScript (27) JSON (7) Learning code (9) Lesson Learned (6) Linux (26) Lucene-Solr (112) Mac (10) Maven (8) Network (9) Nutch2 (18) Performance (9) PowerShell (11) Problem Solving (11) Programmer Skills (6) regex (5) Scala (6) Security (9) Soft Skills (38) Spring (22) System Design (11) Testing (7) Text Mining (14) Tips (17) Tools (24) Troubleshooting (29) UIMA (9) Web Development (19) Windows (21) xml (5)