When installing an extension, the CLI must to select the correct
binary to download for the machine (see the
[`installBin` function](78c1d00ecc/pkg/cmd/extension/manager.go (L240))).
By default, the CLI will download a binary matching the current
machine's architecture.
However, to provide better support for Macs running on Apple
Silicon, it will
[fall back](78c1d00ecc/pkg/cmd/extension/manager.go (L267-L274))
from `darwin-arm64` to `darwin-amd64` if
[Rosetta](https://support.apple.com/en-gb/102527) (Apple's
compatibility layer) is installed.
If Rosetta isn't installed, this fallback doesn't happen, which
can lead to surprising and confusing results when one Mac has
Rosetta and another doesn't, because the extension will install
on one machine but not another.
In the situation where a `darwin-arm64` binary isn't available
but the CLI can't fall back to `amd64` because Rosetta isn't
installed, this updates our error message to suggest installing
Rosetta.
Closes https://github.com/cli/cli/issues/9592.
- gh help actions
- highlight 3 commands to run for more information
- gh extension
- wrapping url for online linking
- fix install subcommand missing backtick formatting
- gh release create
- fixing mixed indenting causing usage misalignment
- root help
- backtick wrap help command for more info for consistency
- gh help environment
- backtick wrap missed OWNER/REPO
- gh variable
- brought consistency to output when deleting or setting variable
* `gh extension install` not give an error if extension already installed and a clear message
* remove test
* Add implementation
* lint go.sum
---------
Co-authored-by: Sam Coe <samcoe@users.noreply.github.com>