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以上を使いたい環境を分けやすくするためです。
- 参考にした記事
- nodebrewの確認
- nodeとnpmがまだ使えない状態
- nodebrewのPATHを通す
- インストール可能なNode.jsバージョンを確認する
- nodebrewの初期設定
- Node.jsの安定版をインストールする
- Node.jsとnpmのバージョン確認
- Gemini CLIのインストール方法を考える
- npmとnpxの違い
- direnvは今すぐ必須ではない
- 現在のホームディレクトリの状態
- npxでGemini CLIを起動する
- Gemini CLIの初回起動画面
- 認証方法を選択する
- 入力モードになった状態
- 日本語で会話できるか確認する
- Gemini CLIを終了する
- –yoloオプションは常用しない
- geminiコマンドのエイリアスを設定する
- 今回の結果
- ハマりどころ
- 次にやること
- まとめ
参考にした記事
Gemini CLIのインストールについては、以下の記事を参考にしました。
Node.jsのインストールについては、以下の記事を参考にしました。
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がまだ使えない状態
この時点では、node と npm はまだ使えませんでした。
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安定版をインストールした
nodeとnpmが使えるようになったnpx @google/gemini-cliでGemini CLIを起動できた- Gemini APIキーで認証した
- 日本語で会話できることを確認した
/exitで終了できることを確認したgeminiエイリアスを設定した
ハマりどころ
nodebrewだけ入っていてもnodeは使えない
nodebrew を入れただけでは、node や npm は使えません。
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 の常用は危険なので、今後はプロジェクトディレクトリ単位で安全に使えるように整備していきます。

コメント