Now I am become macOS update
March 10, 2021 at 8:26 AM by Dr. Drang
Last Saturday, I found myself in the unusual position of praising Apple on Twitter. I was updating my new M1 MacBook Air to macOS 11.2.2, and I found the “time remaining” estimate to be surprisingly accurate.
Not just near the end, when I took the photo, but right from the beginning and throughout the process, the countdown matched what really happened. As someone whose Apple-related tweets tend toward criticism and snark, I thought it was worth commenting when Apple fixed something that was a longstanding subject of ridicule.
The honeymoon didn’t last long. The next day, while trying to take a screenshot with SnapClip, I got an error message about the system being unable to find xcrun
, which is part of macOS’s Command Line Tools. After a little googling on the text of the error message and some exploration in the Finder, I learned that the OS update had deleted the entire
/Library/Developer/CommandLineTools/usr/bin
directory, where xcrun
lives.1
Fixing the problem wasn’t hard; I just ran
xcode-select --install
and a few minutes later everything was back to normal.
When I learned yesterday that 11.2.3 had been released, I decided to update right away. Two reasons:
- I wanted to know whether Apple had fixed things or whether this update would also destroy the Command Line Tools installation.
- If it was the latter, I wanted to do the update while I still remembered how to repair the damage.
Immediately after updating, I tried to run SnapClip and got the same xcrun
error. I looked in
/Library/Developer/CommandLineTools/usr
and found that its bin
subdirectory—as well as several others—was gone. Annoying, but at least I had the fix at my fingertips.
Many years ago, OS updates would sometimes overwrite the Python site-packages
directory in the /Library/Python
tree. This was pretty bad behavior, as the whole point of the site-packages
directory is to hold modules that the user installed. But I think destroying Command Line Tools is even worse because Apple is overwriting directories installed by its own software. And how has this gotten past Apple’s developers? Surely they have Command Line Tools installed on their machines.
In one sense Apple’s “time remaining” estimate is still wrong because it doesn’t account for the time I have to spend reinstalling what it destroyed.