インストール - GitHub CLI

提供: MochiuWiki : SUSE, EC, PCB

概要

GitHub CLI (gh) は、GitHubの機能をコマンドラインから直接操作できる公式ツールである。

プルリクエストやIssueの管理、リポジトリ操作等、GitHubの主要機能をターミナルから実行できる。
Go言語で記述されており、Windows、MacOS、Linuxの主要プラットフォームで動作する。

主要な仕様を以下に示す。

  • 開発言語
    Go
  • ライセンス
    MIT
  • サポート対象OS
    Windows、MacOS、Linux
  • サポート対象GitHub
    GitHub.com、GitHub Enterprise Cloud、GitHub Enterprise Server 2.20以上


主要機能は以下の通りである。

  • PR / Issue管理
    プルリクエストおよびIssueの作成、表示、レビュー操作をコマンドラインから実行できる
  • リポジトリ操作
    リポジトリのクローン、フォーク、閲覧等の操作を実行できる
  • GitHub Enterprise対応
    GitHub Enterprise CloudおよびGitHub Enterprise Server 2.20以上に対応している
  • Copilotコードレビュー統合
    GitHub Copilotによるコードレビュー機能と統合されている



Windows

Windows向けのインストール方法として、WinGet、MSIインストーラ、Chocolatey、Scoopの4種類がある。
公式が推奨する方法はWinGetを使用したインストールである。

WinGet

WinGetはMicrosoftが提供する公式パッケージマネージャーであり、最も推奨されるインストール方法である。

 winget install --id GitHub.cli
 
 # アップグレード
 winget upgrade --id GitHub.cli


インストール後は、Windows Terminalで新しいウィンドウを開く必要がある。
タブの新規作成ではなく、新しいウィンドウを開くことにより、環境変数が正しく反映される。

MSIインストーラ

GitHubのリリースページから、MSIインストーラをダウンロードしてインストールすることができる。

対応アーキテクチャは以下の通りである。

  • x86 (32ビット)
  • amd64 (64ビット)
  • arm64 (ARM 64ビット)


インストーラは以下に示すURLから入手できる。


Chocolatey

Chocolateyはコミュニティが管理するパッケージマネージャーである。
GitHub CLIチームが保守するものではないことに注意が必要である。

 # インストール
 choco install gh
 
 # アップグレード
 choco upgrade gh


Scoop

Scoopはコミュニティが管理するパッケージマネージャーである。
GitHub CLIチームが保守するものではないことに注意が必要である。

 # インストール
 scoop install gh
 
 # アップグレード
 scoop update gh



RHEL / SUSE

Linux向けのインストール方法では、リポジトリを追加してインストールする方法、バイナリを直接ダウンロードする方法、ソースコードからビルドする方法の3種類がある。

リポジトリを追加してインストール

公式リポジトリを追加してパッケージマネージャーからインストールする方法が最も推奨される。

RHEL
# インストール
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

# アップグレード
sudo dnf upgrade gh


SUSE
# インストール
sudo zypper addrepo https://cli.github.com/packages/rpm/gh-cli.repo
sudo zypper ref
sudo zypper install gh

# アップグレード
sudo zypper update gh


バイナリをダウンロードしてインストール

パッケージマネージャーを使用せずに、バイナリを直接ダウンロードしてインストールすることができる。

対応アーキテクチャは以下の通りである。

  • x86 (x86)
    gh_*_linux_386.tar.gz
  • amd64 (x64)
    gh_*_linux_amd64.tar.gz
  • arm64 (ARM 64ビット)
    gh_*_linux_arm64.tar.gz
  • armv6 (ARM 32ビット)
    gh_*_linux_armv6.tar.gz


  1. GitHub CLIのGitHubにアクセスして、バイナリをダウンロードする。
  2. ダウンロードしたファイルを解凍する。
    tar xf gh_x.x.x_linux_amd64.tar.gz
  3. 必要ならば、任意のディレクトリにコピーする。
    cp -r gh_x.x.x_linux_amd64/* <任意のインストールディレクトリ>
  4. 必要ならば、~/.profileファイル等に環境変数を設定する。
     export PATH="/<GitHub CLIのインストールディレクトリ>/bin:$PATH"
     export MANPATH="/<GitHub CLIのインストールディレクトリ>/share/man:$MANPATH"
    


その他のバージョンやアーキテクチャのバイナリは、以下のページから入手できる。


ソースコードからビルドしてインストール

ソースコードからビルドしてインストールすることができる。

前提条件として、Go 1.25以上のインストールが必要である。

  1. リポジトリをクローンする。
     git clone https://github.com/cli/cli.git gh-cli
     cd gh-cli
    

  2. GitHub CLIをビルドおよびインストールする。
    make install prefix=/path/to/gh

  3. 必要ならば、~/.profileファイル等に環境変数を設定する。
     export PATH="/<GitHub CLIのインストールディレクトリ>/bin:$PATH"
     export MANPATH="/<GitHub CLIのインストールディレクトリ>/share/man:$MANPATH"
    



MacOS

MacOS向けのインストール方法として、Homebrew および MacPortsを使用する方法がある。
公式が推奨する方法はHomebrewを使用したインストールである。

Homebrew

Homebrewを使用したインストールが最も推奨される方法である。

# インストール
brew install gh

# アップグレード
brew upgrade gh


MacPorts

MacPortsはコミュニティが管理するパッケージマネージャーである。
GitHub CLIチームが保守するものではないことに注意が必要である。

# インストール
sudo port install gh

# アップグレード
sudo port selfupdate && sudo port upgrade gh



インストールの確認

インストール完了後に、バージョンの確認と認証の設定を行う。

バージョンの確認

インストールが正常に完了していることを確認する。

gh version


正常にインストールされている場合、以下のような出力が表示される。

gh version x.x.x (yyyy-MM-dd)


認証の設定

GitHub CLIを使用するには、GitHubアカウントでの認証が必要である。

まず、以下に示すコマンドを実行して、インタラクティブなプロンプトに従って認証を設定する。

gh auth login


プロンプトでは以下の項目を選択する。

  • 接続先の選択
    GitHub.com または GitHub Enterprise Server
  • プロトコルの選択
    HTTPS または SSH
  • 認証方法の選択
    ブラウザ認証 または トークン入力


認証が完了した後、認証状態を確認する。

gh auth status



アンインストール

Windows

使用したインストール方法に応じて、以下の手順でアンインストールする。

  • WinGetの場合
    winget uninstall --id GitHub.cli
  • MSIインストーラの場合
    [設定] - [アプリ] - [アプリと機能]からGitHub CLIを選択してアンインストールする。
  • Chocolateyの場合
    choco uninstall gh
  • Scoopの場合
    scoop uninstall gh


RHEL / SUSE

# RHEL
sudo dnf remove gh

# SUSE
sudo zypper remove gh


MacOS

  • Homebrewの場合
    brew uninstall gh
  • MacPortsの場合
    sudo port uninstall gh



参考リンク