homebrew

How to revert Homebrew to a previous state after an update


I installed an app, which triggered an update of Homebrew and apparently also of some apps. Now I am unable to get some apps running, for example MySQL.

Some apps complain about not finding libicuuc.70.dylib after icu4c71.1 has been apparently installed by the update cycle.

I would like to revert the whole Homebrew installation to the point before the update was triggered to get my apps running again and to find out what went wrong. I can rely on TimeMachine.

Which directories do I have to replace through a backup?

I have the following directories in /usr/local :

/usr/local/bin
/usr/local/Caskroom
/usr/local/Cellar
/usr/local/etc
/usr/local/Frameworks
/usr/local/Homebrew
/usr/local/include
/usr/local/lib
/usr/local/opt
/usr/local/remotedesktop
/usr/local/sbin
/usr/local/share
/usr/local/var

Solution

  • At the end I resorted to restoring the complete /usr/local directory from a Timemachine backup and got all homebrew installed applications running again.

    I did the following:

    1. delete the content in /usr/local.
    2. enter Time Machine and go to a specific time in the past, where the system was still running
    3. selected all the files and directories and restored them

    The var directory gets generated automatically by the system, once it is deleted, but there where no conflicts. At first I tried to restore without deleting the content of /usr/local before restoring it, but I got an error and the restore did not complete. After deleting it before the restore everything went through.

    I still do not know what broke my system and would like to know more about Homebrew. In the time I am using homebrew it changed a lot the way it works and consequently my experience and the unexpected results I get sometimes.