# GitHub CLI 拡張機能の使用

他の GitHub CLI ユーザーによって書き込まれたカスタム拡張機能を使用する方法について学びます。

## GitHub CLI 拡張機能について

> \[!NOTE]
> GitHub および GitHub CLI 以外の拡張機能は、 GitHub によって認定されず、個別のサービス利用規約、プライバシー ポリシー、およびサポート ドキュメントによって管理されます。 サード パーティの拡張機能を使用する際のリスクを軽減するには、拡張機能をインストールまたは更新する前に、拡張機能のソース コードを監査します。

GitHub CLI 拡張機能は、だれでも作成して使用できる、カスタム GitHub CLI コマンドです。GitHub CLI 拡張機能の作成方法の詳細については、「[GitHub CLI 拡張機能の作成](/ja/enterprise-server@3.18/github-cli/github-cli/creating-github-cli-extensions)」を参照してください。

拡張機能はローカルにインストールされ、ユーザーにスコープが設定されます。 そのため、別のコンピューターから GitHub CLI にアクセスした場合、または別のユーザーが同じコンピューターから GitHub CLI にアクセスした場合、拡張機能は使用できません。

## 拡張機能の検索

拡張機能を見つけるには、[repositories と `gh-extension` トピック](https://github.com/topics/gh-extension)を参照します。

## 拡張機能のインストール

拡張機能をインストールするには `extensions install` サブコマンドを使用します。
`repo` パラメーターを拡張機能のリポジトリに置き換えます。 完全な URL (`https://github.com/octocat/gh-whoami` など) または所有者とリポジトリ (`octocat/gh-whoami` など) のみを使用できます。

所有者とリポジトリを使用する場合、`gh` は、`gh` が現在認証されているホスト名を使用して拡張機能をインストールします。 完全な URL 形式は、別のホストから拡張機能をインストールする場合に便利です。 たとえば、GitHub Enterprise Server のユーザーは、完全なリポジトリ URL を使用して、GitHub.com またはその他のホストから拡張機能をインストールする必要があります。

現在のディレクトリから開発中の拡張機能をインストールするには、`.` パラメーターの値として `repo` を使用します。

```shell
gh extension install REPO
```

同じ名前の拡張機能が既にインストールされている場合、コマンドは失敗します。 たとえば、`octocat/gh-whoami` をインストールしている場合は、`hubot/gh-whoami` をインストールする前にアンインストールする必要があります。

## 拡張機能を実行する

拡張機能をインストールしたら、ネイティブの GitHub CLI コマンドを実行する場合と同様に `gh EXTENSION-NAME` を使用して拡張機能を実行します。
`EXTENSION-NAME` は拡張子を含むリポジトリの名前から `gh-` プレフィックスを引いたものです。

たとえば、`octocat/gh-whoami` リポジトリから拡張機能をインストールした場合は、次のコマンドを使用して拡張機能を実行します。

```shell
gh whoami
```

通常、拡張機能を含むリポジトリの README で拡張機能を使用する方法に関する特定の情報を見つけることができます。

## インストール済みの拡張機能の表示

インストールされているすべての拡張機能を表示するには `extensions list` サブコマンドを使用します。 また、どの拡張機能に利用可能な更新プログラムがあるかも出力に示されます。

```shell
gh extension list
```

## 拡張機能の更新

拡張機能を更新するには `extensions upgrade` サブコマンドを使用します。
`extension` パラメーターを拡張機能の名前に置き換えます。

```shell
gh extension upgrade EXTENSION
```

インストールされているすべての拡張機能を更新するには、`--all` フラグを使用します。

```shell
gh extension upgrade --all
```

## 拡張機能のアンインストール

拡張機能をアンインストールするには `extensions remove` サブコマンドを使用します。
`extension` パラメーターを拡張機能の名前に置き換えます。

```shell
gh extension remove EXTENSION
```