Tag: Gcloud

gcloudインストール

Dockerでgcloud CLIをインストールするときにPython依存エラーが出る問題の解決方法

Dockerfile内でgcloud CLI(Google Cloud CLI)をインストールしようとした際に、次のようなエラーが発生しました。

The following packages have unmet dependencies:
 google-cloud-cli : Depends: python3 (< 3.13) but 3.13.2-2 is to be installed

これは、Dockerのベースイメージで使用されているPythonのバージョンが新しすぎて、gcloud CLIの依存関係を満たせないために起こったようでした。 (20250407時点)

原因

Google Cloud CLIはPythonの特定バージョンに依存しています。現在、Python 3.13以降には対応していないため、このエラーが発生します。

解決方法

この問題の根本的な解決方法としては、Pythonに依存しないバイナリ版のGoogle Cloud CLIを利用して回避してみました。

最新版を常に取得してインストールする方法

Google公式のインストールスクリプトを使えば、常に最新版を自動的にインストールできます。 curl | bash は取得したスクリプトをそのまま実行するため、Dockerfile内で使う場合も公式URLであることを確認し、必要に応じてバージョン固定を検討します。

ENV CLOUDSDK_INSTALL_DIR=/usr/local/google-cloud-sdk

RUN curl -fsSL https://sdk.cloud.google.com | bash -s -- \
    --disable-prompts \
    --install-dir=${CLOUDSDK_INSTALL_DIR} && \
    ln -s ${CLOUDSDK_INSTALL_DIR}/bin/gcloud /usr/local/bin/gcloud && \
    gcloud --version
  • --disable-prompts: インタラクティブな入力を抑制します。
  • --install-dir: インストール先のディレクトリを指定します。
  • インストール後、PATHが通った場所にシンボリックリンクを作成しています。

シンボリックリンクを使いたくない場合の方法

環境変数PATHを直接設定する方法もあります。

Read more...

gcloud関連のメモ

gcloud 初期設定でつまずいたときの対処メモ

Google Cloud SDK(gcloud)をインストール後、プロジェクトにアクセスするまでに発生したトラブルとその対応をメモしておきます。


1. gcloud config list の出力

初期状態では以下のように、最小限の設定しかされていませんでした。

gcloud config list

出力例:

[core]
disable_usage_reporting = True

Your active configuration is: [default]
  • disable_usage_reporting = True は使用状況レポート送信を無効にしている状態。
  • しかし、プロジェクトやアカウントの情報が未設定でした。

2. アクセス可能なプロジェクトの一覧を取得しようとしたら…

gcloud projects list

が、以下のようなエラーを出力:

ERROR: (gcloud.projects.list) You do not currently have an active account selected.

✅ 解決方法:

gcloud auth login

このコマンドでブラウザ認証を行い、Google アカウントにログインします。

  1. 認証情報の保存と警告

認証後、以下のようなメッセージが表示されました:

Credentials saved to file: [/Users/exampleuser/.config/gcloud/application_default_credentials.json]

These credentials will be used by any library that requests Application Default Credentials (ADC).
WARNING:
Cannot find a quota project to add to ADC. You might receive a "quota exceeded" or "API not enabled" error.

✅ 解決方法:

Read more...