Skip to main content

codespace の作成と削除のトラブルシューティング

この記事では、ストレージや構成の issue など、codespace の作成または削除時に発生する可能性のある一般的な issue に対するトラブルシューティング手順について説明します。

Note

GitHub Codespaces は、octocorp.ghe.com など、GHE.com のサブドメインでは利用できません。

codespace を作成する

codespace を作成するアクセス権がない

GitHub Codespaces は、すべてのリポジトリで利用できるわけではありません。 codespace を作成するためのオプションが表示されない場合は、そのリポジトリで GitHub Codespaces を使用できない可能性があります。

GitHub Codespaces の月額に含まれる使用量が個人アカウントに残っている場合、または支払い方法と使用制限を設定している場合は、任意のパブリック リポジトリの codespace を作成できます。

また、このプライベート リポジトリが個人アカウントによって所有されている場合は、少なくとも読み取りアクセス権を持っているプライベート リポジトリの codespace を作成することもできます。 リポジトリがプライベート または内部 で、Organization によって所有されている場合は、Organization またはその親 Enterprise の設定に応じて、そのリポジトリの codespace を作成できる場合とできない場合があります。

リポジトリの codespace を作成できないときは、次の組織またはエンタープライズの設定のいずれかが原因である可能性があります。

  • 組織とエンタープライズの所有者は、組織のプライベート リポジトリと内部リポジトリの GitHub Codespaces にアクセスできるユーザーを選択できます。 詳しくは、「組織での GitHub Codespaces の有効化または無効化」を参照してください。
  • Organization と Enterprise の所有者は、Organization のプライベート および内部リポジトリの一部または全部に対するフォークを無効にすることができます。 リポジトリへの読み取りアクセス権しか持っておらず、それをフォークできない場合は、そのリポジトリの codespace は作成できません。 詳しくは、「Organization のフォークポリシーを管理する」を参照してください。
  • マネージド ユーザー アカウント がある場合、リポジトリが組織所有のリポジトリのフォークであり、GitHub Codespaces を組織の費用で使用できる場合を除き、個人用リポジトリの codespace を作成することはできません。 詳しくは、「Enterprise Managed Users について」を参照してください。

codespace を作成できるかどうかに影響する可能性があるその他の組織とエンタープライズの設定については、「組織での GitHub Codespaces の有効化または無効化」を参照してください。

個人アカウントに含まれる使用量と使用制限の設定について詳しくは、「GitHub Codespaces の請求について」と「GitHub Codespaces の使用制限の管理」をご覧ください。

作成時に codespace が開かない

codespace を作成しても開かない場合:

  1. キャッシュまたはレポートの問題が発生した場合は、ページを再度読み込んでみてください。
  2. GitHub Codespaces ページ (https://github.com/codespaces ) に移動し、そこに新しい codespace が一覧表示されているかどうかを確認します。 このプロセスで、codespace が正常に作成されたが、ブラウザーに報告できなかった可能性があります。 新しい codespace が一覧表示されている場合は、そのページから直接開くことができます。
  3. 一時的な通信エラーを除外するように、リポジトリの codespace の作成を再試行します。

GitHub Codespaces を使用できるリポジトリの codespace をまだ作成できない場合は、サポートにお問い合わせください。 詳しくは、「GitHub Codespaces のサポートを使用する」を参照してください。

codespace の作成に失敗する

codespace の作成に失敗する場合は、クラウドの一時的なインフラストラクチャの問題 (codespace の仮想マシンのプロビジョニングに関する問題など) が原因の可能性があります。 あまり一般的ではない失敗の理由は、コンテナーのビルドに 1 時間以上かかる場合です。 この場合、ビルドは取り消され、codespace の作成は失敗します。

注: 正常に作成されなかった codespace は使用できなくなり、削除する必要があります。 詳しくは、「codespace を削除する」を参照してください。

codespace を作成し、作成に失敗した場合:

  1. GitHub の [状態] ページ でアクティブなインシデントがないか確認します。

  2. GitHub Codespaces ページに移動し、codespace を削除して、新しい codespace を作成します。

  3. コンテナーがビルドされている場合は、ストリーミング中のログを確認し、ビルドがスタックしていないことを確認します。 1 時間以上かかるコンテナー ビルドは取り消され、作成が失敗します。

    これが発生する可能性がある一般的なシナリオの 1 つは、ユーザー入力のダイアログが表示され、回答を待つスクリプトが実行されている場合です。 この場合は、対話型プロンプトを削除して、ビルドを非対話型で完了できるようにします。

    : ビルド中にログを表示するには:

    • ブラウザーの場合、ビルド プロセスの最初の手順に数秒以上かかる場合は、[codespace のセットアップ] ページが表示されます。 [ログの表示] をクリックします。

      ブラウザーの [codespace の設定] ページのスクリーンショット。 [ログの表示] ボタンが濃いオレンジ色の枠線で強調表示されています。

    • VS Code デスクトップ アプリケーションの場合、表示される [リモート接続の設定] ポップアップ メッセージの [codespace のビルド] をクリックします。

      VS Code のポップアップ メッセージのスクリーンショット。[リモート接続の設定: codespace のビルド] と表示されています。

      ログ メッセージは、VS Code のターミナルに出力されます

  4. ビルドに時間がかかるコンテナーがある場合は、プレビルドを使用して codespace の作成を速めることを検討してください。 詳しくは、「プレビルドの構成」を参照してください。

codespace を削除する

codespace は、次の方法でのみ削除できます。

  • codespace を作成したユーザー
  • 組織所有の codespace の組織所有者
  • 保持期間の終了時の自動的な削除

詳細については、「codespace を削除する」および「codespace の自動削除を構成する」を参照してください。

コンテナー ストレージ

codespace を作成すると、ストレージ容量に限りがあるため、時間の経過とともにスペースを解放する必要がある場合があります。 GitHub Codespaces ターミナルで次のコマンドのいずれかを実行してみて、ストレージ スペースを解放します。

  • sudo apt autoremove を使用して、使用されなくなったパッケージを削除します。
  • sudo apt clean を使用して apt キャッシュをクリーンアップします。
  • sudo find / -printf '%s %p\n'| sort -nr | head -10 で、codespace 内でサイズが上位 10 個のファイルを参照します。
  • ビルド成果物やログなど、不要なファイルを削除します。

より破壊的なオプション:

  • docker system prune を使用して (すべての画像を削除する場合は -a を、すべてのボリュームを削除する場合は --volumes を付加します)、未使用の Docker イメージ、ネットワーク、コンテナーを削除します。
  • 追跡されていないファイルを作業ツリーから削除します: git clean -i

構成

開発コンテナー構成を変更してコンテナー エラーが発生した場合、codespace は回復モードで動作し、エラー メッセージが表示されます。

This codespace is currently running in recovery mode due to a container error.

作成ログを確認し、必要に応じて開発コンテナーの構成を更新します。 詳しくは、「GitHub Codespaces ログ」を参照してください。

その後、codespace を再起動するか、コンテナーをリビルドしてみてください。 コンテナーの再構築について詳しくは、「開発コンテナーの概要」をご覧ください。