Honestpuck/homebrew.sh

Script fails on M1 Mac

steve-klein-Au opened this issue · 3 comments

I've been using this script to deploy homebrew with jamf on Intel Macs for quite a while, and it's always worked perfectly.

Right now I'm setting up our company's first Apple Silicon Macs, and the script failed. No error message, but Homebrew was not installed'

I don't know if this is helpful, but here's what shows up in Jamf's details about the install:

[STEP 1 of 4]

Executing Policy Homebrew Install, self-service only
[STEP 2 of 4]
Running script homebrew-3.3.sh...
Script exit code: 0
Script result: Thu Dec 9 16:56:12 EST 2021 - Homebrew InstallationThu Dec 9 16:56:12 EST 2021 - Checking for Xcode Command Line Tools installation Thu Dec 9 16:56:12 EST 2021 - Installing Homebrew % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 128 100 128 0 0 595 0 --:--:-- --:--:-- --:--:-- 612 100 2571k 100 2571k 0 0 2774k 0 --:--:-- --:--:-- --:--:-- 2774k chmod: /opt/homebrew/*: No such file or directory hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Initialized empty Git repository in /opt/homebrew/Homebrew/.git/ Running brew update --preinstall... From https://github.com/Homebrew/brew * [new branch] dependabot/bundler/Library/Homebrew/spoom-1.1.6 -> origin/dependabot/bundler/Library/Homebrew/spoom-1.1.6 * [new branch] master -> origin/master * [new tag] 0.1 -> 0.1 * [new tag] 0.2 -> 0.2 * [new tag] 0.3 -> 0.3 * [new tag] 0.4 -> 0.4 * [new tag] 0.5 -> 0.5 * [new tag] 0.6 -> 0.6 * [new tag] 0.7 -> 0.7 * [new tag] 0.7.1 -> 0.7.1 * [new tag] 0.8 -> 0.8 * [new tag] 0.8.1 -> 0.8.1 * [new tag] 0.9 -> 0.9 * [new tag] 0.9.1 -> 0.9.1 * [new tag] 0.9.2 -> 0.9.2 * [new tag] 0.9.3 -> 0.9.3 * [new tag] 0.9.4 -> 0.9.4 * [new tag] 0.9.5 -> 0.9.5 * [new tag] 0.9.8 -> 0.9.8 * [new tag] 0.9.9 -> 0.9.9 * [new tag] 1.0.0 -> 1.0.0 * [new tag] 1.0.1 -> 1.0.1 * [new tag] 1.0.2 -> 1.0.2 * [new tag] 1.0.3 -> 1.0.3 * [new tag] 1.0.4 -> 1.0.4 * [new tag] 1.0.5 -> 1.0.5 * [new tag] 1.0.6 -> 1.0.6 * [new tag] 1.0.7 -> 1.0.7 * [new tag] 1.0.8 -> 1.0.8 * [new tag] 1.0.9 -> 1.0.9 * [new tag] 1.1.0 -> 1.1.0 * [new tag] 1.1.1 -> 1.1.1 * [new tag] 1.1.10 -> 1.1.10 * [new tag] 1.1.11 -> 1.1.11 * [new tag] 1.1.12 -> 1.1.12 * [new tag] 1.1.13 -> 1.1.13 * [new tag] 1.1.2 -> 1.1.2 * [new tag] 1.1.3 -> 1.1.3 * [new tag] 1.1.4 -> 1.1.4 * [new tag] 1.1.5 -> 1.1.5 * [new tag] 1.1.6 -> 1.1.6 * [new tag] 1.1.7 -> 1.1.7 * [new tag] 1.1.8 -> 1.1.8 * [new tag] 1.1.9 -> 1.1.9 * [new tag] 1.2.0 -> 1.2.0 * [new tag] 1.2.1 -> 1.2.1 * [new tag] 1.2.2 -> 1.2.2 * [new tag] 1.2.3 -> 1.2.3 * [new tag] 1.2.4 -> 1.2.4 * [new tag] 1.2.5 -> 1.2.5 * [new tag] 1.2.6 -> 1.2.6 * [new tag] 1.3.0 -> 1.3.0 * [new tag] 1.3.1 -> 1.3.1 * [new tag] 1.3.2 -> 1.3.2 * [new tag] 1.3.3 -> 1.3.3 * [new tag] 1.3.4 -> 1.3.4 * [new tag] 1.3.5 -> 1.3.5 * [new tag] 1.3.6 -> 1.3.6 * [new tag] 1.3.7 -> 1.3.7 * [new tag] 1.3.8 -> 1.3.8 * [new tag] 1.3.9 -> 1.3.9 * [new tag] 1.4.0 -> 1.4.0 * [new tag] 1.4.1 -> 1.4.1 * [new tag] 1.4.2 -> 1.4.2 * [new tag] 1.4.3 -> 1.4.3 * [new tag] 1.5.0 -> 1.5.0 * [new tag] 1.5.1 -> 1.5.1 * [new tag] 1.5.10 -> 1.5.10 * [new tag] 1.5.11 -> 1.5.11 * [new tag] 1.5.12 -> 1.5.12 * [new tag] 1.5.13 -> 1.5.13 * [new tag] 1.5.14 -> 1.5.14 * [new tag] 1.5.2 -> 1.5.2 * [new tag] 1.5.3 -> 1.5.3 * [new tag] 1.5.4 -> 1.5.4 * [new tag] 1.5.5 -> 1.5.5 * [new tag] 1.5.6 -> 1.5.6 * [new tag] 1.5.7 -> 1.5.7 * [new tag] 1.5.8 -> 1.5.8 * [new tag] 1.5.9 -> 1.5.9 * [new tag] 1.6.0 -> 1.6.0 * [new tag] 1.6.1 -> 1.6.1 * [new tag] 1.6.10 -> 1.6.10 * [new tag] 1.6.11 -> 1.6.11 * [new tag] 1.6.12 -> 1.6.12 * [new tag] 1.6.13 -> 1.6.13 * [new tag] 1.6.14 -> 1.6.14 * [new tag] 1.6.15 -> 1.6.15 * [new tag] 1.6.16 -> 1.6.16 * [new tag] 1.6.17 -> 1.6.17 * [new tag] 1.6.2 -> 1.6.2 * [new tag] 1.6.3 -> 1.6.3 * [new tag] 1.6.4 -> 1.6.4 * [new tag] 1.6.5 -> 1.6.5 * [new tag] 1.6.6 -> 1.6.6 * [new tag] 1.6.7 -> 1.6.7 * [new tag] 1.6.8 -> 1.6.8 * [new tag] 1.6.9 -> 1.6.9 * [new tag] 1.7.0 -> 1.7.0 * [new tag] 1.7.1 -> 1.7.1 * [new tag] 1.7.2 -> 1.7.2 * [new tag] 1.7.3 -> 1.7.3 * [new tag] 1.7.4 -> 1.7.4 * [new tag] 1.7.5 -> 1.7.5 * [new tag] 1.7.6 -> 1.7.6 * [new tag] 1.7.7 -> 1.7.7 * [new tag] 1.8.0 -> 1.8.0 * [new tag] 1.8.1 -> 1.8.1 * [new tag] 1.8.2 -> 1.8.2 * [new tag] 1.8.3 -> 1.8.3 * [new tag] 1.8.4 -> 1.8.4 * [new tag] 1.8.5 -> 1.8.5 * [new tag] 1.8.6 -> 1.8.6 * [new tag] 1.9.0 -> 1.9.0 * [new tag] 1.9.1 -> 1.9.1 * [new tag] 1.9.2 -> 1.9.2 * [new tag] 1.9.3 -> 1.9.3 * [new tag] 2.0.0 -> 2.0.0 * [new tag] 2.0.1 -> 2.0.1 * [new tag] 2.0.2 -> 2.0.2 * [new tag] 2.0.3 -> 2.0.3 * [new tag] 2.0.4 -> 2.0.4 * [new tag] 2.0.5 -> 2.0.5 * [new tag] 2.0.6 -> 2.0.6 * [new tag] 2.1.0 -> 2.1.0 * [new tag] 2.1.1 -> 2.1.1 * [new tag] 2.1.10 -> 2.1.10 * [new tag] 2.1.11 -> 2.1.11 * [new tag] 2.1.12 -> 2.1.12 * [new tag] 2.1.13 -> 2.1.13 * [new tag] 2.1.14 -> 2.1.14 * [new tag] 2.1.15 -> 2.1.15 * [new tag] 2.1.16 -> 2.1.16 * [new tag] 2.1.2 -> 2.1.2 * [new tag] 2.1.3 -> 2.1.3 * [new tag] 2.1.4 -> 2.1.4 * [new tag] 2.1.5 -> 2.1.5 * [new tag] 2.1.6 -> 2.1.6 * [new tag] 2.1.7 -> 2.1.7 * [new tag] 2.1.8 -> 2.1.8 * [new tag] 2.1.9 -> 2.1.9 * [new tag] 2.2.0 -> 2.2.0 * [new tag] 2.2.1 -> 2.2.1 * [new tag] 2.2.10 -> 2.2.10 * [new tag] 2.2.11 -> 2.2.11 * [new tag] 2.2.12 -> 2.2.12 * [new tag] 2.2.13 -> 2.2.13 * [new tag] 2.2.14 -> 2.2.14 * [new tag] 2.2.15 -> 2.2.15 * [new tag] 2.2.16 -> 2.2.16 * [new tag] 2.2.17 -> 2.2.17 * [new tag] 2.2.2 -> 2.2.2 * [new tag] 2.2.3 -> 2.2.3 * [new tag] 2.2.4 -> 2.2.4 * [new tag] 2.2.5 -> 2.2.5 * [new tag] 2.2.6 -> 2.2.6 * [new tag] 2.2.7 -> 2.2.7 * [new tag] 2.2.8 -> 2.2.8 * [new tag] 2.2.9 -> 2.2.9 * [new tag] 2.3.0 -> 2.3.0 * [new tag] 2.4.0 -> 2.4.0 * [new tag] 2.4.1 -> 2.4.1 * [new tag] 2.4.10 -> 2.4.10 * [new tag] 2.4.11 -> 2.4.11 * [new tag] 2.4.12 -> 2.4.12 * [new tag] 2.4.13 -> 2.4.13 * [new tag] 2.4.14 -> 2.4.14 * [new tag] 2.4.15 -> 2.4.15 * [new tag] 2.4.16 -> 2.4.16 * [new tag] 2.4.2 -> 2.4.2 * [new tag] 2.4.3 -> 2.4.3 * [new tag] 2.4.4 -> 2.4.4 * [new tag] 2.4.5 -> 2.4.5 * [new tag] 2.4.6 -> 2.4.6 * [new tag] 2.4.7 -> 2.4.7 * [new tag] 2.4.8 -> 2.4.8 * [new tag] 2.4.9 -> 2.4.9 * [new tag] 2.5.0 -> 2.5.0 * [new tag] 2.5.1 -> 2.5.1 * [new tag] 2.5.10 -> 2.5.10 * [new tag] 2.5.11 -> 2.5.11 * [new tag] 2.5.12 -> 2.5.12 * [new tag] 2.5.2 -> 2.5.2 * [new tag] 2.5.3 -> 2.5.3 * [new tag] 2.5.4 -> 2.5.4 * [new tag] 2.5.5 -> 2.5.5 * [new tag] 2.5.6 -> 2.5.6 * [new tag] 2.5.7 -> 2.5.7 * [new tag] 2.5.8 -> 2.5.8 * [new tag] 2.5.9 -> 2.5.9 * [new tag] 2.6.0 -> 2.6.0 * [new tag] 2.6.1 -> 2.6.1 * [new tag] 2.6.2 -> 2.6.2 * [new tag] 2.7.0 -> 2.7.0 * [new tag] 2.7.1 -> 2.7.1 * [new tag] 2.7.2 -> 2.7.2 * [new tag] 2.7.3 -> 2.7.3 * [new tag] 2.7.4 -> 2.7.4 * [new tag] 2.7.5 -> 2.7.5 * [new tag] 2.7.6 -> 2.7.6 * [new tag] 2.7.7 -> 2.7.7 * [new tag] 3.0.0 -> 3.0.0 * [new tag] 3.0.1 -> 3.0.1 * [new tag] 3.0.10 -> 3.0.10 * [new tag] 3.0.11 -> 3.0.11 * [new tag] 3.0.2 -> 3.0.2 * [new tag] 3.0.3 -> 3.0.3 * [new tag] 3.0.4 -> 3.0.4 * [new tag] 3.0.5 -> 3.0.5 * [new tag] 3.0.6 -> 3.0.6 * [new tag] 3.0.7 -> 3.0.7 * [new tag] 3.0.8 -> 3.0.8 * [new tag] 3.0.9 -> 3.0.9 * [new tag] 3.1.0 -> 3.1.0 * [new tag] 3.1.1 -> 3.1.1 * [new tag] 3.1.10 -> 3.1.10 * [new tag] 3.1.11 -> 3.1.11 * [new tag] 3.1.12 -> 3.1.12 * [new tag] 3.1.2 -> 3.1.2 * [new tag] 3.1.3 -> 3.1.3 * [new tag] 3.1.4 -> 3.1.4 * [new tag] 3.1.5 -> 3.1.5 * [new tag] 3.1.6 -> 3.1.6 * [new tag] 3.1.7 -> 3.1.7 * [new tag] 3.1.8 -> 3.1.8 * [new tag] 3.1.9 -> 3.1.9 * [new tag] 3.2.0 -> 3.2.0 * [new tag] 3.2.1 -> 3.2.1 * [new tag] 3.2.10 -> 3.2.10 * [new tag] 3.2.11 -> 3.2.11 * [new tag] 3.2.12 -> 3.2.12 * [new tag] 3.2.13 -> 3.2.13 * [new tag] 3.2.14 -> 3.2.14 * [new tag] 3.2.15 -> 3.2.15 * [new tag] 3.2.16 -> 3.2.16 * [new tag] 3.2.17 -> 3.2.17 * [new tag] 3.2.2 -> 3.2.2 * [new tag] 3.2.3 -> 3.2.3 * [new tag] 3.2.4 -> 3.2.4 * [new tag] 3.2.5 -> 3.2.5 * [new tag] 3.2.6 -> 3.2.6 * [new tag] 3.2.7 -> 3.2.7 * [new tag] 3.2.8 -> 3.2.8 * [new tag] 3.2.9 -> 3.2.9 * [new tag] 3.3.0 -> 3.3.0 * [new tag] 3.3.1 -> 3.3.1 * [new tag] 3.3.2 -> 3.3.2 * [new tag] 3.3.3 -> 3.3.3 * [new tag] 3.3.4 -> 3.3.4 * [new tag] 3.3.5 -> 3.3.5 * [new tag] 3.3.6 -> 3.3.6 * [new tag] 3.3.7 -> 3.3.7 HEAD is now at 6d0f53481 Merge pull request #12541 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-sorbet-0.6.4 ==> Homebrew has enabled anonymous aggregate formula and cask analytics. Read the analytics documentation (and how to opt-out) here: https://docs.brew.sh/Analytics No analytics have been recorded yet (nor will be during this brew run). ==> Homebrew is run entirely by unpaid volunteers. Please consider donating: https://github.com/Homebrew/brew#donations ==> Tapping homebrew/core Cloning into '/opt/homebrew/Homebrew/Library/Taps/homebrew/homebrew-core'... Tapped 3 commands and 5928 formulae (6,256 files, 467.8MB). ==> Downloading https://ghcr.io/v2/homebrew/core/ca-certificates/manifests/2021-10-26 ==> Downloading https://ghcr.io/v2/homebrew/core/ca-certificates/blobs/sha256:1bbd45c16a0b9912174c553a6d7ae1b67b11abbeb3155eaf03109bb62d8e5381 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:1bbd45c16a0b9912174c553a6d7ae1b67b11abbeb3155eaf03109bb62d8e5381?se=2021-12-09T22%3A05%3A00Z&sig=WF3a7oBGJb9I%2F7Kin5UrP2LKfrVcqSIS4iH9bwDnysg%3D&sp=r&spr=https&sr=b&sv=2019-12-12 ==> Downloading https://ghcr.io/v2/homebrew/core/openssl/1.1/manifests/1.1.1l_1 ==> Downloading https://ghcr.io/v2/homebrew/core/openssl/1.1/blobs/sha256:8f5b0bee61c1570b9f0fc0a21d6c322e904ae7975bdaada5787451d18e9677a6 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:8f5b0bee61c1570b9f0fc0a21d6c322e904ae7975bdaada5787451d18e9677a6?se=2021-12-09T22%3A05%3A00Z&sig=civxCHdAGr0wJdMObiKL1Daycp4PpjfmxPQJ53nOlp4%3D&sp=r&spr=https&sr=b&sv=2019-12-12 ==> Downloading https://ghcr.io/v2/homebrew/core/md5sha1sum/manifests/0.9.5_1 ==> Downloading https://ghcr.io/v2/homebrew/core/md5sha1sum/blobs/sha256:975c34811713cfbce39d2d7627b62e1a026b4e21dec59f7571fb813b31a9d483 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:975c34811713cfbce39d2d7627b62e1a026b4e21dec59f7571fb813b31a9d483?se=2021-12-09T22%3A05%3A00Z&sig=JCPaxkSBsqWT%2FDhtbrpTBPgdSs98%2BV2VpzRkk5N0XYQ%3D&sp=r&spr=https&sr=b&sv=2019-12-12 ==> Installing dependencies for md5sha1sum: ca-certificates and openssl@1.1 ==> Installing md5sha1sum dependency: ca-certificates ==> Pouring ca-certificates--2021-10-26.all.bottle.tar.gz [34m==>[0m [1mRegenerating CA certificate bundle from keychain, this may take a while...[0m � /opt/homebrew/Cellar/ca-certificates/2021-10-26: 3 files, 208.5KB ==> Installing md5sha1sum dependency: openssl@1.1 ==> Pouring openssl@1.1--1.1.1l_1.arm64_monterey.bottle.tar.gz � /opt/homebrew/Cellar/openssl@1.1/1.1.1l_1: 8,073 files, 18MB ==> Installing md5sha1sum ==> Pouring md5sha1sum--0.9.5_1.arm64_monterey.bottle.tar.gz � /opt/homebrew/Cellar/md5sha1sum/0.9.5_1: 8 files, 76.6KB ==> Running brew cleanup md5sha1sum... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see man brew). export PATH="${HOMEBREW_PREFIX}/opt/openssl/bin:$PATH" Thu Dec 9 16:58:11 EST 2021 - Updating Homebrew ==> Homebrew has enabled anonymous aggregate formula and cask analytics. Read the analytics documentation (and how to opt-out) here: https://docs.brew.sh/Analytics No analytics have been recorded yet (nor will be during this brew run). ==> Homebrew is run entirely by unpaid volunteers. Please consider donating: https://github.com/Homebrew/brew#donations Updated 1 tap (homebrew/core). No changes to formulae. Thu Dec 9 16:58:13 EST 2021 - Installation complete
[STEP 3 of 4]
[STEP 4 of 4]

It looks like it fails to do a chmod right up the top.

What do you see with ls -la /opt? Which version of macOS 12 are you running? what does brew -v get you? What about brew install git? Its looks like you had the Xcode command line tools installed first. Is that right? Were they installed as part of Xcode? What does the log say (it's at /private/var/log/Homebrew.log`)?

ri-pa commented

The issue is that brew is not added to PATH on Apple M1 laptops.
I fixed this by doing what the interactive brew install suggests:
image

So I added the following to the end section (after applying updates) of the script:

# set shellenv for M1 users
if [[ "$UNAME_MACHINE" == "arm64" ]]; then
    echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/${consoleuser}/.profile
fi

This fixed the issue for me.

Closed by @ri-pa PR. (Many thanks to them.)