Homebrew install on Linux installs armhf node; need aarch64
- Dominant language
- TypeScript
- Stars
- 889
- Forks
- 236
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 33
Description
Hi there! Hope y'all are having a good day.
On a Ubuntu 26 LTS VM running on macOS, the Homebrew installation of Heroku CLI doesn't work due to `node`'s architecture:
```
$ brew install heroku/brew/heroku
==> Trusted formula heroku/brew/heroku
==> Would install 1 formula:
heroku
==> Fetching downloads for: heroku
✔︎ Formula heroku (11.10.0) Verified 47.0MB/ 47.0MB
==> Installing heroku from heroku/brew
🍺 /home/linuxbrew/.linuxbrew/Cellar/heroku/11.10.0: 42,596 files, 388.7MB, built in 10 seconds
==> Caveats
Bash completion has been installed to:
/home/linuxbrew/.linuxbrew/etc/bash_completion.d
==> heroku
To use the Heroku CLI's autocomplete --
Via homebrew's shell completion:
1) Follow homebrew's install instructions https://docs.brew.sh/Shell-Completion
NOTE: For zsh, as the instructions mention, be sure compinit is autoloaded
and called, either explicitly or via a framework like oh-my-zsh.
2) Then run
$ heroku autocomplete --refresh-cache
OR
Use our standalone setup:
1) Run and follow the install steps:
$ heroku autocomplete
$ heroku autocomplete --refresh-cache
/home/linuxbrew/.linuxbrew/bin/heroku: line 45: /home/linuxbrew/.linuxbrew/Cellar/heroku/11.10.0/libexec/bin/node: cannot execute binary file: Exec format error
$ file /home/linuxbrew/.linuxbrew/Cellar/heroku/11.10.0/libexec/bin/node
/home/linuxbrew/.linuxbrew/Cellar/heroku/11.10.0/libexec/bin/node: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 4.4.255, with debug_info, not stripped
$ uname -a
Linux ubuntu 7.0.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Aug 1 03:33:01 UTC 2026 aarch64 GNU/Linux
```
It looks like [it may not be possible](https://askubuntu.com/questions/928249/how-to-run-armhf-executables-on-an-arm64-system/929692#929692) to make this work by installing more support libs? I'm unsure.
Separately, it also seems that `--build-from-source` doesn't work here—the same binary gets installed.
Contributor guide
Research direction
Start by reproducing the Homebrew install on the reported aarch64 Ubuntu VM and inspect the heroku formula package around /home/linuxbrew/.linuxbrew/Cellar/heroku/11.10.0/libexec/bin/node. Compare the bundled Node architecture with the system architecture, then investigate why --build-from-source installs the same binary. Done means the Homebrew installation provides an executable aarch64 Node binary and the CLI commands run successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, node.js, ubuntu
- Domain
- build-system, cli, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100