Windows、MacでGemini CLIを動かす記事はたくさんあります。
そしてubuntuでもWindows・Macと同じ方法で起動できるという記事が多いですが、
状況によっては起動しません。結構みんないい加減な記事書いてるのでご注意を。
本記事ではLinuxサーバー(Ubuntu Server)にリモートで入ってGemini CLIを動かす際のトラブルシューティングにフォーカスして解説します。(個人的な備忘録も兼ねて)
Google Gemini CLIとは?
Google Gemini CLIは、Gemini(旧Bard)をターミナル上で操作できるコマンドラインツールです。
APIキー不要で、Googleアカウントによる認証だけで利用でき、ちょっとした質問からコード生成まで幅広く使える便利なツールです。
Ubuntu Serverでの前提環境構築
Ubuntu ServerにGemini CLIを導入するには、以下のようにNode.jsとnpmのインストールが必要です。
sudo apt update
sudo apt install -y nodejs npm
npm -v
Ubuntu Serverで私が経験した3つのトラブルと解決方法
Ubuntu ServerでGemini CLIを動かす際、次の3つの問題が発生しがちです。
特に、Windowsなどからコンソール経由でUbuntu Serverにリモートで入って作業する時に起きる可能性が高いです。
IPv6が有効でnpmのサーバーにアクセスできない
npm ERR! ….
npm ERR! ….
認証画面が開かない
Gemini CLIでは起動時に認証が必要になります。リモート環境ではこの認証画面が開かないことが多いかと思います。
ubuntuでもデスクトップ環境がインストールされており、デスクトップ環境でインストールを実行している場合は、認証画面が開く可能性があります。(試していないので確かではないです。)
しかし、サーバーには基本的にデスクトップ環境が入ってないことが多い上に、
Windowsなどからリモートでアクセスするとそもそも”デスクトップ画面が無い”という事になります。
そもそも画面がないので認証用のウインドウが開けない → 何も起きない → 認証できない
という状況になります。
解決方法は以下のとおりです。
gemini cliをデバッグモードで起動
IPv6の影響で認証コードが拒否される
2.の認証用のURLが表示された続きで以下のようなエラーが表示されている場合、認証できません。
これは、1のエラーと同様ipv6でアクセスしていることが原因で起こるエラーです。
ですので、一時的にipv6を無効化します。
以下のコマンドを1つずつ実行してください。
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1