Mac miniにnodebrewでNode.jsを入れて、npxでGemini CLIを使う

Mac miniにnodebrewでNode.jsを入れて、npxでGemini CLIを使う

Mac miniでGemini CLIを使うために、まずNode.js環境を整えました。

Gemini CLIはNode.js 20以上が必要になるケースがあるため、今回はNode.jsのバージョン管理ツールである nodebrew を使います。

また、Gemini CLIのインストール方法として、Homebrew版ではなく npx を使う方針にしました。

理由は、Firebase Gen1のようにNode.js 18を使いたい環境と、Gemini CLIのようにNode.js 20以上を使いたい環境を分けやすくするためです。

参考にした記事

Gemini CLIのインストールについては、以下の記事を参考にしました。

Gemini CLIインストール方法【Mac】

Node.jsのインストールについては、以下の記事を参考にしました。

MacにNode.jsをインストール

Gemini CLIのセットアップについては、以下の記事も参考にしました。

Gemini CLI 関連の参考記事

Google Gemini CLIをセットアップして最強のターミナルAIアシスタントを手に入れる

nodebrewの確認

まず、nodebrewが使えるか確認します。

nodebrew -v

実行結果は以下です。

nodebrew 1.2.0

Usage:
    nodebrew help                         Show this message
    nodebrew install <version>            Download and install <version> (from binary)
    nodebrew compile <version>            Download and install <version> (from source)
    nodebrew install-binary <version>     Alias of `install` (For backward compatibility)
    nodebrew uninstall <version>          Uninstall <version>
    nodebrew use <version>                Use <version>
    nodebrew list                         List installed versions
    nodebrew ls                           Alias for `list`
    nodebrew ls-remote                    List remote versions
    nodebrew ls-all                       List remote and installed versions

nodebrew 自体は入っています。

nodeとnpmがまだ使えない状態

この時点では、nodenpm はまだ使えませんでした。

node -v
npm -v

結果は以下です。

zsh: command not found: node
zsh: command not found: npm

nodebrewは入っていても、Node.js本体をインストールして使うバージョンを指定しないと、node コマンドは使えません。

nodebrewのPATHを通す

nodebrewで管理するNode.jsを使うため、~/.zshrc にPATHを追加します。

今回は ~/.zshrc がまだ無かったため、以下で追記しました。

echo 'export PATH="$HOME/.nodebrew/current/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

中身を確認します。

cat ~/.zshrc

以下の行が入っていればOKです。

export PATH="$HOME/.nodebrew/current/bin:$PATH"

インストール可能なNode.jsバージョンを確認する

インストール可能なNode.jsのバージョンを確認します。

nodebrew ls-remote

非常に多くのバージョンが表示されます。

今回の目的はGemini CLIを動かすことなので、Node.js 22以上、または安定版を使えばよさそうです。

nodebrewの初期設定

nodebrewの初期設定を行います。

nodebrew setup

Node.jsの安定版をインストールする

今回は安定版をインストールしました。

nodebrew install-binary stable

インストール後、安定版を使うように切り替えます。

nodebrew use stable

実行結果は以下です。

use v24.13.0

Node.jsとnpmのバージョン確認

Node.jsとnpmが使えるか確認します。

node -v
which node
npm -v

結果は以下です。

v24.13.0
/Users/snowpool/.nodebrew/current/bin/node
11.6.2

これで、nodebrewで管理しているNode.jsが使えるようになりました。

Gemini CLIのインストール方法を考える

Gemini CLIはHomebrewでもインストールできるようですが、今回はHomebrew版は使わない方針にしました。

理由は、Homebrew版のGemini CLIはHomebrew側のNode.jsに依存しやすく、nodebrewでNode.jsのバージョンを切り替えても影響を受けない可能性があるためです。

今回の環境では、以下の条件があります。

  • Firebase Gen1ではNode.js 18を使いたい
  • Gemini CLIではNode.js 20以上を使いたい
  • nodebrewで複数バージョンのNode.jsを共存させたい
  • 将来的にdirenvでプロジェクトごとに環境を分けたい
  • Mac miniをSSHメインで常時稼働サーバとして使いたい

この条件では、Homebrew版より npx で実行する方が扱いやすいと判断しました。

npmとnpxの違い

npmとnpxの違いを整理します。

項目 npm npx
主な役割 パッケージを保存・インストールする パッケージをその場で実行する
インストール node_modules やグローバル領域に入れる 必要なら一時的に取得して実行する
用途 プロジェクト依存や常設ツール CLIツールや単発実行
Node.js切り替え グローバルインストールだと混乱しやすい 現在のNode.jsで実行しやすい

今回のように、nodebrewで複数Node.jsを切り替えたい場合は、npx の方が安全です。

direnvは今すぐ必須ではない

将来的には、ディレクトリごとにNode.jsや環境変数を切り替えるために direnv を使う予定です。

ただし、Gemini CLIを npx で実行するだけなら、direnvは今すぐ必須ではありません。

用途 direnvの必要性
npx の実行 不要
Gemini CLIをnpxで使う 不要
nodebrewを手動で切り替える 不要
ディレクトリごとに自動切り替えしたい 必要

まずはホームディレクトリでGemini CLIを試します。

現在のホームディレクトリの状態

ホームディレクトリの中身は以下でした。

ls
Desktop
Documents
Downloads
Library
migration
Movies
Music
neo4j-stack
Pictures
Public
testgemma.png
VOICEVOX.0.25.1-arm64.dmg

npxでGemini CLIを起動する

以下のコマンドでGemini CLIを起動します。

npx @google/gemini-cli

初回実行時は、以下のようにパッケージのインストール確認が表示されます。

Need to install the following packages:
@google/gemini-cli@0.24.0
Ok to proceed? (y)

y を入力して進めます。

Gemini CLIの初回起動画面

起動すると、Gemini CLIの画面が表示されます。

Tips for getting started:
1. Ask questions, edit files, or run commands.
2. Be specific for the best results.
3. Create GEMINI.md files to customize your interactions with Gemini.
4. /help for more information.

ホームディレクトリで起動しているため、以下の警告も表示されました。

You are running Gemini CLI in your home directory. It is recommended to run in a project-specific directory.

Gemini CLIはファイル操作もできるため、ホームディレクトリ直下ではなく、プロジェクトごとのディレクトリで使う方が安全です。

認証方法を選択する

初回起動時に、認証方法を選びます。

How would you like to authenticate for this project?

1. Login with Google
2. Use Gemini API Key
3. Vertex AI

今回は 2. Use Gemini API Key を選びました。

ここでGemini APIキーを入力します。

公開記事には、実際のAPIキーは絶対に書きません。

GEMINI_API_KEY=YOUR_GEMINI_API_KEY_HERE

実際のAPIキーは、自分の環境だけに保存します。

入力モードになった状態

認証が完了すると、入力モードになります。

╭─────────────────────────────────────────────────────────────────────────────╮
│ >   Type your message or @path/to/file                                      │
╰─────────────────────────────────────────────────────────────────────────────╯
 ~                     no sandbox                     Auto (Gemini 2.5) /model

表示の意味は以下です。

表示 意味
~ 現在の作業ディレクトリ。今回はホームディレクトリ。
no sandbox Dockerなどによる実行制限なし。
Auto (Gemini 2.5) モデル自動選択。
/model モデル変更用のコマンド。

日本語で会話できるか確認する

以下のように入力しました。

こんにちは。日本語で会話できますか?

すると、以下のように返ってきました。

はい、日本語で会話できます。どのようなご用件でしょうか?

日本語でのやりとりも問題なくできました。

Gemini CLIを終了する

Gemini CLIを終了する場合は、以下を入力します。

/exit

終了すると、ターミナルに戻ります。

終了時には、利用サマリーのような表示が出る場合があります。

–yoloオプションは常用しない

参考記事の中に、--yolo オプションを付ける例がありました。

ただし、今回は常用しないことにしました。

--yolo は、確認ダイアログなしでファイル作成やファイル変更を実行できるオプションです。

  • ファイル作成
  • ファイル書き換え
  • ディレクトリ作成
  • 上書き操作

これらを確認なしで行う可能性があります。

便利ではありますが、誤指示でファイルを壊したり、ログ解析中に意図せず上書きされるリスクがあります。

特にMac miniを常時稼働サーバとして使う場合、--yolo の常用は危険です。

geminiコマンドのエイリアスを設定する

毎回 npx @google/gemini-cli と入力するのは長いため、エイリアスを設定します。

echo "alias gemini='npx @google/gemini-cli'" >> ~/.zshrc
source ~/.zshrc

これで、以下の短いコマンドでGemini CLIを起動できます。

gemini

今回の結果

今回の作業で、以下まで完了しました。

  • nodebrewでNode.jsのバージョン管理を行う準備ができた
  • Node.js安定版をインストールした
  • nodenpm が使えるようになった
  • npx @google/gemini-cli でGemini CLIを起動できた
  • Gemini APIキーで認証した
  • 日本語で会話できることを確認した
  • /exit で終了できることを確認した
  • gemini エイリアスを設定した

ハマりどころ

nodebrewだけ入っていてもnodeは使えない

nodebrew を入れただけでは、nodenpm は使えません。

Node.js本体をインストールし、nodebrew use で使用するバージョンを指定する必要があります。

PATH設定が必要

nodebrewで管理しているNode.jsを使うには、以下のPATH設定が必要です。

export PATH="$HOME/.nodebrew/current/bin:$PATH"

これを ~/.zshrc に追加しておきます。

Homebrew版Gemini CLIは今回は避けた

Homebrew版Gemini CLIは簡単に入れられる可能性がありますが、nodebrewでNode.jsを切り替えたい場合には相性が悪いと判断しました。

今回は npx で実行する方針にしました。

APIキーは公開しない

Gemini APIキーを使う場合、ブログ記事やGitHubには実際のキーを書きません。

記事では以下のようにダミーで書きます。

GEMINI_API_KEY=YOUR_GEMINI_API_KEY_HERE

–yoloは危険

--yolo は確認なしでファイル操作を行う可能性があります。

ローカル作業では便利な場面もありますが、常時稼働サーバや大事なファイルがあるディレクトリでは使わない方が安全です。

次にやること

次は、Gemini CLIをプロジェクトごとのディレクトリで使うように整備します。

  • プロジェクト用ディレクトリを作る
  • 必要に応じて GEMINI.md を作成する
  • direnvでNode.jsや環境変数を自動切り替えする
  • Firebase Gen1用のNode.js 18環境と分ける
  • Gemini CLIでコード修正やログ解析を試す

まとめ

Mac miniでGemini CLIを使うため、nodebrewでNode.js環境を整え、npx @google/gemini-cli で起動しました。

Homebrew版Gemini CLIは、nodebrewによるNode.jsバージョン切り替えと相性が悪そうだったため、今回は使いませんでした。

Gemini CLIは日本語での会話も問題なくでき、ターミナル上のAIアシスタントとして使えそうです。

ただし、ホームディレクトリでの実行や --yolo の常用は危険なので、今後はプロジェクトディレクトリ単位で安全に使えるように整備していきます。

コメント

タイトルとURLをコピーしました