After discussing changes with @bagtoad, we talked about consolidating the top-level readme further to reduce the amount of links. Additionally, the Amazon Linux 2 and openSUSE/SUSE sections weren't contained appropriately in the official sections.
11 KiB
Installing gh on Linux and BSD
Recommended (Official)
Debian
Debian packages are hosted on the GitHub CLI marketing site for various operating systems including:
These packages are supported by the GitHub CLI maintainers with updates powered by GitHub CLI deployment workflow.
To install:
(type -p wget >/dev/null || (sudo apt update && sudo apt install wget -y)) \
&& sudo mkdir -p -m 755 /etc/apt/keyrings \
&& out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \
&& cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& sudo mkdir -p -m 755 /etc/apt/sources.list.d \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update \
&& sudo apt install gh -y
To upgrade:
sudo apt update
sudo apt install gh
RPM
RPM packages are hosted on the GitHub CLI marketing site for various operating systems including:
These packages are supported by the GitHub CLI maintainers with updates powered by GitHub CLI deployment workflow.
DNF5
Important
These commands apply to DNF5 only. If you're using DNF4, please use the DNF4 instructions.
To install:
sudo dnf install dnf5-plugins
sudo dnf config-manager addrepo --from-repofile=https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install gh --repo gh-cli
To upgrade:
sudo dnf update gh
DNF4
Important
These commands apply to DNF4 only. If you're using DNF5, please use the DNF5 instructions.
To install:
sudo dnf install 'dnf-command(config-manager)'
sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install gh --repo gh-cli
To upgrade:
sudo dnf update gh
Amazon Linux 2 (yum)
To install:
type -p yum-config-manager >/dev/null || sudo yum install yum-utils
sudo yum-config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo yum install gh
To upgrade:
sudo yum update gh
openSUSE/SUSE Linux (zypper)
To install:
sudo zypper addrepo https://cli.github.com/packages/rpm/gh-cli.repo
sudo zypper ref
sudo zypper install gh
To upgrade:
sudo zypper ref
sudo zypper update gh
Homebrew
Homebrew is a free and open-source software package management system that simplifies the installation of software on Apple's operating system, macOS, as well as Linux.
The GitHub CLI formulae is supported by the GitHub CLI maintainers with help from our friends at Homebrew with updated powered by homebrew/hoomebrew-core.
To install:
brew install gh
To upgrade:
brew upgrade gh
Precompiled binaries
GitHub CLI releases contain precompiled binaries for 386, amd64, arm64, and armv6 architectures.
Community (Unofficial)
Important
The GitHub CLI team does not maintain the following packages or repositories and thus we are unable to provide support for those installation methods.
Alpine Linux
The GitHub CLI package is supported by the Alpine Linux community with updates powered by alpine/aports.
To install stable release:
apk add github-cli
To install edge release:
echo "@community http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
apk add github-cli@community
Android
The GitHub CLI package is supported by the Termux community with updates powered by termux/termux-packages.
To install and upgrade:
pkg install gh
Arch Linux
The GitHub CLI package is supported by the Arch Linux community with updates powered by Arch Linux packaging.
To install:
sudo pacman -S github-cli
To upgrade all packages:
sudo pacman -Syu
Alternatively, use the unofficial AUR package to build GitHub CLI from source.
Conda
Conda is an open source package management system and environment management system for installing multiple versions of software packages and their dependencies and switching easily between them. It works on Linux, OS X and Windows, and was created for Python programs but can package and distribute any software.
The GitHub CLI package is supported by the Conda community with updates powered by conda-forge/gh-feedstock.
To install:
conda install gh --channel conda-forge
To upgrade:
conda update gh --channel conda-forge
Fedora Community
The GitHub CLI package is supported by the Fedora community with updates powered by Fedora Project.
To install:
sudo dnf install gh
To upgrade:
sudo dnf update gh
Flox
Flox is a virtual environment and package manager all in one. With Flox you create environments that layer and replace dependencies just where it matters, making them portable across the full software lifecycle.
Flox relies upon the GitHub CLI package supported by the NixOS community
To install:
flox install gh
To upgrade:
flox upgrade toplevel
FreeBSD
The GitHub CLI port is supported by the FreeBSD community with updates powered by FreeBSD ports.
cd /usr/ports/devel/gh/ && make install clean
Or via pkg(8):
pkg install gh
Funtoo
The GitHub CLI portage is supported by the Funtoo community with updates powered by funtoo/dev-kit.
To install:
emerge -av github-cli
To upgrade:
ego sync
emerge -u github-cli
Gentoo
The GitHub CLI portage is supported by the Gentoo community with updates powered by Gentoo portage.
To install:
emerge -av github-cli
To upgrade:
emerge --sync
emerge -u github-cli
Manjaro Linux
The GitHub CLI package is the same package produced by the Arch Linux community
To install and upgrade:
pamac install github-cli
MidnightBSD
The GitHub CLI port is supported by the MidnightBSD community with updates powered by MidnightBSD/mports.
To install:
cd /usr/mports/devel/gh/ && make install clean
Or via mport(1):
mport install gh
NetBSD/pkgsrc
The GitHub CLI package is supported by the NetBSD community with updates powered by NetBSD/pkgsrc.
To install:
pkgin install gh
Nix/NixOS
The GitHub CLI package is supported by the NixOS community with updates powered by NixOS/nixpkgs.
To install:
nix-env -iA nixos.gh
OpenBSD
The GitHub CLI port is supported by the OpenBSD community with updates powered by OpenBSD ports.
To install:
pkg_add github-cli
openSUSE Tumbleweed
The GitHub CLI package is supported by the openSUSE community.
To install:
sudo zypper install gh
To upgrade:
sudo zypper update gh
Solus Linux
The GitHub CLI package is supported by the Solus Linux community with updates powered by getsolus/packages.
To install:
sudo eopkg install github-cli
Spack
Spack is a flexible package manager supporting multiple versions, configurations, platforms, and compilers for supercomputers, Linux, and macOS.
The GitHub CLI package is supported by the Spack community with updates powered by spack/spack-packages.
To install:
spack install gh
To upgrade:
spack uninstall gh && spack install gh
Void Linux
The GitHub CLI package: is supported by the Void Linux community with updates powered by void-linux/void-packages.
To install:
sudo xbps-install github-cli
Webi
Webi is a tool that aims to effortlessly install developer tools with easy-to-remember URLs from official builds quickly, without sudo or Admin, without a package manager, and without changing system file permissions.
The GitHub CLI package is supported by the Webi community with updates powered by webinstall/webi-installers.
To install:
curl -sS https://webi.sh/gh \| sh
To upgrade:
webi gh@stable
Discouraged
Warning
The GitHub CLI team actively discourages use of the following methods of installion.
Snap
The GitHub CLI package has so many issues with Snap as a runtime mechanism for apps like GitHub CLI that our team suggests never installing gh as a snap.