🧰

DevContainer の Image などに従来の方法で GitHub CLI がインストールできなくなったことへの対応

2022/09/06に公開

DevContainer 用の Image を定期的にビルドさせているのですが急にエラーになったので調べてみたところ、以下のような原因でした。

この問題は長期化するということらしいです(この記事を書いている時点で 3 日経過しているので緊急な対応はなさそう)。

対応方法としては「Release のパッケージを自分でダウンロードしてインストールしてください」ということですが、ドキュメントに具体的な手順が掲載される感じもないので、とりあえずの対応方法など。

対応方法

devcontainer.json で features を使っている場合は対応版が用意されているようです。私は features を使っていないので試していませんが、一時的にエラーになっていても最新版では対応されていると思います[1]

👋 For anyone using Codespaces, Remote-Containers, or the dev container CLI, we have updated the dev container feature to prefer pulling from the latest GitHub Release instead of adding the apt repo. (see: devcontainers/features#133)

DockerfileScript Library を使っている場合(あるいは自分でリポジトリを追加している場合)、まだ上記のようなオプションはないので自分で解決する必要があります。

私は以下のように変更しました(apt-get update などは事前に実行している前提)。

リスト 1-1 Relase からインストールするスクリプト

# Install GihHub CLI
    && curl -s https://api.github.com/repos/cli/cli/releases/latest | jq .assets[].browser_download_url | grep linux_amd64.deb | xargs -I '{}' curl -sL -o /tmp/ghcli.deb '{}' \
    && dpkg -i /tmp/ghcli.deb \
    && rm /tmp/ghcli.deb \

上記でビルドすると現時点での最新版がインストールされています。

図 1-1 インストールされた gh のバージョン表示

vscode ➜ ~ $ gh version
gh version 2.14.7 (2022-08-25)
https://github.com/cli/cli/releases/tag/v2.14.7

あとは Issue をざっと見た感じだと、以下のコメントの方法でも対応できそうです(こちらの方が Architecture を見ているので柔軟かも)。

おわりに

最初は「鍵ファイルをダウンロードできなかったのかな?」と軽い気持ちで re-run したのですが、わりと対応が必要だったのでとりあえず記事にしてみました。

脚注
  1. features については「Dev container featuresについて調べてみる」が参考にります。 ↩︎

GitHubで編集を提案

Discussion