ポイ活におすすめのサイト
その買うを、もっとハッピーに。|ハピタス

【徹底解説】Ubuntu Server(リモート)でGoogle Gemini CLIを動かす方法とハマりやすい3つの落とし穴

■本記事は広告・アフィリエイトプログラムで収益を得ています。予めご了承ください。■


AI

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のインストールが必要です。

# Node.jsとnpmのインストール
sudo apt update
sudo apt install -y nodejs npm
バージョン確認もしておきましょう。nodeのバージョンは18以上が必要なようです。
node -v
npm -v
続いて、Gemini CLIのインストールは以下のコマンドです。
npm install -g @google/gemini-cli
さて、このコマンド実行を含め、以降の作業で3つのエラーが起きる可能性があります。
それを一つ一つ解決していきます。

Ubuntu Serverで私が経験した3つのトラブルと解決方法

Ubuntu ServerでGemini CLIを動かす際、次の3つの問題が発生しがちです。

特に、Windowsなどからコンソール経由でUbuntu Serverにリモートで入って作業する時に起きる可能性が高いです。

 IPv6が有効でnpmのサーバーにアクセスできない

npm install -g @google/gemini-cli
上記コマンドを実行した際に、プログレスバーが動かずに、数分して以下のように
npm ERR! ….から始まるメッセージが数行表示されて、インストールできないエラーが発生します。
npm ERR! FetchError: request to https://registry.npmjs.org/@google%2fgemini-cli failed,
npm ERR! ….
npm ERR! ….
これは、ipv6でnpmjsサーバーにアクセスしたが、断られたというエラーです。
以下のコマンドでipv4のhostを追加してあげると解決できます。
echo 104.16.20.35 registry.npmjs.org | sudo tee -a /etc/hosts
これで、npm installコマンドを実行すれば、プログレスバーがすぐに動き始めてインストールが完了します。

認証画面が開かない

Gemini CLIでは起動時に認証が必要になります。リモート環境ではこの認証画面が開かないことが多いかと思います。

ubuntuでもデスクトップ環境がインストールされており、デスクトップ環境でインストールを実行している場合は、認証画面が開く可能性があります。(試していないので確かではないです。)

しかし、サーバーには基本的にデスクトップ環境が入ってないことが多い上に、

Windowsなどからリモートでアクセスするとそもそも”デスクトップ画面が無い”という事になります。

そもそも画面がないので認証用のウインドウが開けない → 何も起きない → 認証できない

という状況になります。

解決方法は以下のとおりです。

gemini cliをデバッグモードで起動

gemini –debug
すると、まず配色などのテーマを選択し、次に以下のようなログイン方法の選択が出ます。
ここで「1.Login with Google」を選択します。
すると様々なメッセージとともに以下のように”URLにアクセスしてください”というメッセージとURLが表示されます。
WindowsなどからブラウザにURLを貼り付けて開き、googleアカウントを選択すると、
認証コードが表示されますので、これをコピーします。
上記画像の状態で一度エンターを押すと”Enter the authorization code:”と表示されるので、コピーした認証コードを貼り付けエンターを押すと認証が完了します。
しかし、ここで認証エラーとなる場合がありますので、次のトラブルシューティングも合わせて確認してください。

IPv6の影響で認証コードが拒否される

2.の認証用のURLが表示された続きで以下のようなエラーが表示されている場合、認証できません。

これは、1のエラーと同様ipv6でアクセスしていることが原因で起こるエラーです。

ですので、一時的にipv6を無効化します。
以下のコマンドを1つずつ実行してください。

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
上記コマンドでipv6を無効化したら、2の認証作業をもう一度行ってみてください。
認証できるはずです。
私の場合、なぜか1回では認証できず、2回同じ認証作業をしたら認証できました。
認証できたら以下のコマンドで起動します。
gemini
正常に起動すれば以下のようになります。
この方法で起動できた場合、ipv6を再度有効にするとgeminiが起動できません。
ipv6を恒久的に無効にするか、優先順位を変更するなど各自の環境に合わせて変更してください。
以上、Ubuntu ServerにGemini CLIをインストールする際のトラブルシューティング解説でした。
タイトルとURLをコピーしました