Downgrading Homebrew

Looking for help on how to downgrade my Homebrew installation. As you can see, I have a pretty old system.

Anyone know:

  1. Where to download an old version
  2. How to install it?

Model Identifier: iMac10,1
System Version: macOS 10.13.6 (17G13035)
MacOS version: High Sierra
Model Name: iMac
Processor Name: Intel Core 2 Duo
Processor Speed: 3.06 GHz
Number of Processors: 1
Total Number of Cores: 2
Memory: 16 GB
Boot ROM Version: 215.0.0.0.0
SMC Version (system): 1.52f9
Chipset Model: NVIDIA GeForce 9400
VRAM (Dynamic, Max): 256 MB
Adapter Firmware Version: 1.40
System Version: macOS 10.13.6 (17G13035)
Kernel Version: Darwin 17.7.0
System Integrity Protection: Enabled
Time since boot: 4 days 19:38

Homebrew is compatible with High Sierra or later, so I’m not sure what you mean when you say downgrade your installation? Do you already have it installed and you want an older version, or do you just want a version that is compatible with what you have?

Yes, because it updates itself and will no longer work on my system.

1 Like

A version compatible with what I have.

1 Like

The docs say “10.14 or higher is recommended. 10.9–10.13 are supported on a best-effort basis," implying that older versions aren’t available.

My guess is that the current version of Homebrew would work reasonably well on your system. Whether the packages you want to install would work on your system, I dunno. No harm in trying, I suppose.

Edit: I was composing my reply when you were responding to @JohnAtl so I didn’t know your current installation no longer worked. Maybe if you reinstall from scratch? The docs also say you can have multiple installations on the same machine.

You should be able to just grab the brew version you want from here and drop it into your install directory (usr/local or whatever.) The manual instructions for homebrew install are essentially to do that and create the paths it needs, and you already have the paths.

You’ll still have the autoupdate. Apparently you can disable that with a flag, but I haven’t tried it myself.

Be sure to take a good backup before messing with all this…

2 Likes

I recommend moving from brew to MacPorts for Macs which are no longer supported by brew.

That’s what I’ve done for some Macs that I have which can no longer be upgraded to newer versions of macOS.

brew makes no effort, as far as I know, to prevent your outdated system from getting hosed by a regular update.

It’s a bit of a pain, at first, to learn a new system, but MacPorts is pretty easy to deal with. I’m half-tempted to try it with Monterey when I install it in the fall, and maybe I’ll move all of my systems to MacPorts. I’m curious to know if there’s anything I’d miss or wouldn’t be available.

1 Like

@tjluoma what’s the benefit of using MacPorts instead of Brew?

Of course I have no direct answer to this, but it’s my understanding that MacPorts has many more packages than Homebrew.

Here’s a comparison of the two.

https://www.slant.co/versus/1588/1674/~macports_vs_homebrew

And a short comparison and list of number of times a few packages were installed using homebrew and MacPorts.

Unless there is an extenuating circumstance, (which I think OP has), I would recommend homebrew.

Until I read @cornchip’s post, I would have agreed with you. Now that I know that both Homebrew and MacPorts are both available on GitHub, I’m going back to my original stance: Take your pick (not Fink, though).

I run into this bottleneck all the time now.

What version of Homebrew is this?

Its version 3.0.0.

Did you already run the two suggested git commands before running brew update?

I also get the macOS 10.13 warning on my old Mac mini, but Homebrew still seems to work (though it has to compile way more stuff now).

Ya, same here so I guess I should be okay with it.

Generally, I tend to think of them as very much “6 of one, a half-dozen of the other”.

brew tends to get more attention from the Mac community these days, but I’m not really sure why.

There was a time when I thought that MacPorts was starting to be less supported, but either I was wrong, or things have changed again, because it seems quite active and robust.

For me, the advantage of using MacPorts would be that I could use it on all of my Macs, which now includes 3 aging, but still entirely functional, Mac minis, which can no longer be updated to newer versions of macOS (High Sierra, for 2 of them, I believe). I can even use it on my 2007 iMac running El Capitan, which is pretty remarkable, IMO.

My biggest disappointment with brew is that they’re almost aggressive in dropping support for older versions of macOS as soon as they can, using the argument that “If Apple doesn’t support the OS, neither do we” which I don’t find particularly compelling.

I could be wrong, but it doesn’t seem like it would be all that difficult to support older versions of macOS, but, as that is not something I can do myself, I have to go with what they offer.

(See also “Installation Location” in my next post.)

1 Like

That’s an interesting article and one that I’ve not seen before.

Looking down the list of “Pros” and “Cons” the only one that really stood out to me is this one, listed as a “Pro” for brew:

PRO Less maintenance than Macports

Macports seems to be able to get into a bad state where new packages are unable to be installed, or installed software was unable to be updated. This simply hasn’t happened with Homebrew.

Now, I can’t speak to that myself, as I’m not familiar enough to say, but I wonder how often that actually happens, or is it just a thing that people know can happen, and therefore are concerned about it?

What’s with the Mac Nerd Obsession about avoiding sudo ?!

What I don’t understand is why so many people make such a big deal out of using sudo.

You can’t install apps from the Mac App Store without entering your admin password, and you can’t install anything from a .pkg without entering your admin password, so why is it suddenly a terrible thing to have to enter your admin password to install command-line tools?

The second part of the quote from above is this:

In addition to not having to deal with corruption problems, Homebrew installs packages in userland. Not requiring root to install software is a big win.

which oddly redundant since this is also already listed as a “pro” for brew:

PRO Does not require using sudo

One of the things to like about Homebrew is that it refuses to run things under sudo most of the time. This is a great policy, but it causes issues when you want to create symlinks or install in places that SIP has changed permissions on.

Confusingly, they also list this as a pro for MacPorts:

PRO Requires SUDO to install apps

No need to worry if some rogue app will change your binaries or configuration.

So… requiring sudo is a “pro”, and not requiring sudo is a “pro”?

Very odd.

I’m not sure that I’d consider using sudo either a pro or a con. But for the vast majority of Mac users who are using Macs where they are the admin and probably the only user, sudo is pretty irrelevant.

Installation Location

I forgot to mention this before when someone asked about why one might prefer MacPorts over brew:

MacPorts has always installed itself to its own unique directory under /opt/.

On the other hand, brew insisted that it should be installed to /usr/local/ and basically told you that if you installed it anywhere else, everything would break and the world would end.

Their argument was that Apple creates /usr/local/, so why not use it? (Of course, Apple also creates /opt/ too, so that argument was never very strong.) They also said that /usr/local/ was the proper place for Unix-y software that the user installs.

I would not have cared as much, *except that after brew installed itself to /usr/local/ (because that was the “proper” place) it would routinely complain about other things installed in /usr/local/ by saying, in essence, “HEY?! WHO PUT THIS HERE? I DIDN’T PUT THIS HERE! DID YOU PUT THIS HERE? PUTTING THIS HERE MIGHT CAUSE PROBLEMS WITH brew!!”

You can’t say “This is the place for users to install stuff, so we’re using it” and then also complain when users install stuff there.

Anyway, it’s a bit of a moot point now, because with the advent of Apple Silicon, all of a sudden brew has decided that it can install itself to /opt/homebrew/ instead of /usr/local/ (but only for Apple Silicon Macs).

IMO, this is what brew should have done from the beginning, and their insistence that they had to use /usr/local/ never seemed all that convincing, so I’m very glad for this change.

2 Likes

I tried fink and MacPorts before homebrew. Each time the switch was because of varying degrees of hosing my system. Each was a pain to clean up after. Fortunately homebrew has worked well for me.

Installing as root isn’t a problem, unless someone has nefarious intentions. Then when running as root during the install, an app can set up scripts (or whatever) to also run as root. These could run in the background and, say, log keystrokes, or could run at periodic times and send a screenshot to a server, receive code to run from someone, etc. For apps that have been vetted by the App Store, or signed by a developer, this is less of a concern.

While you have quotes around this, what it actually says begins with:

Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don’t worry or file an issue; just ignore this. Thanks!

So just do that last bit - ignore it :slight_smile:

2 Likes

In practice, Homebrew saves me quite a bit of time over MacPorts. I do like the correctness of Macports’ dependency management, and wouldn’t mind having the option to use something even more conservative, along the lines of pipenv for Mac software dependency management. Not that I’m willing to increase my SSD budget on new computers to support that.