はじめに
会社のPCで「新しいツールを使いたいけれど、管理者権限がなくてインストールできない」「勝手にシステムをいじって壊すのが怖い」と感じたことはありませんか?
システム全体に影響を与えない「ユーザー権限」で、GoogleのAI Agent Gemini CLIを自動セットアップするバッチ/スクリプトを作りました。
WindowsとMacに対応しています。
この方法なら、OSの深い部分を書き換えないため安全性が高く、セキュリティポリシーが厳しい環境でも導入しやすいのがメリットです。
導入の仕組み
今回のインストールフローは以下のようになります。すべてユーザー権限(User Space)で完結します。
- Voltaの導入: ユーザーのホームディレクトリに設置
- Node.jsの導入: Voltaがホームディレクトリ内にNodeをダウンロード
-
Gemini CLIの導入:
npm installによりNodeの管理下(ホームディレクトリ内)にインストール
macOS用:セットアップスクリプト
ターミナルを開いて、以下のコマンドを貼り付けるだけで完了します。
#!/bin/zsh
cd $(dirname $0)
VOLTA_HOME_DIR="$HOME/.volta"
ZSHRC="$HOME/.zshrc"
show_menu() {
clear
echo "==========================================="
echo " Gemini CLI Setup Menu (macOS)"
echo "==========================================="
echo " 1. Install (Initial Setup)"
echo " 2. Update (Node.js LTS & Gemini CLI)"
echo " 3. Uninstall (Remove All)"
echo " 4. Exit"
echo "==========================================="
printf "Select a number (1-4) and press Enter: "
}
while true; do
show_menu
read choice
case "$choice" in
1)
echo "\n=== Installing Gemini CLI... ==="
brew install volta
export VOLTA_HOME="$VOLTA_HOME_DIR"
export PATH="$VOLTA_HOME/bin:$PATH"
if ! grep -q "VOLTA_HOME" "$ZSHRC"; then
echo -e "\n# Volta\nexport VOLTA_HOME=\"\$HOME/.volta\"\nexport PATH=\"\$VOLTA_HOME/bin:\$PATH\"" >> "$ZSHRC"
fi
mkdir -p "$VOLTA_HOME"
volta install node@lts
npm install -g @google/gemini-cli
echo "\nPress Enter to return to menu..."
read
;;
2)
echo "\n=== Updating Gemini CLI... ==="
export VOLTA_HOME="$VOLTA_HOME_DIR"
export PATH="$VOLTA_HOME/bin:$PATH"
if ! command -v volta &> /dev/null; then
echo "[Error] Volta is not installed. Please run 'Install' first."
else
volta install node@lts
npm install -g @google/gemini-cli@latest
fi
echo "\nPress Enter to return to menu..."
read
;;
3)
echo "\n=== Uninstalling Gemini CLI... ==="
printf "Are you sure? (y/n): "
read confirm
if [[ "$confirm" == "y" ]]; then
rm -rf "$VOLTA_HOME_DIR"
brew uninstall volta
if [ -f "$ZSHRC" ]; then
sed -i '' '/# Volta/d' "$ZSHRC"
sed -i '' '/VOLTA_HOME/d' "$ZSHRC"
sed -i '' '/\.volta\/bin/d' "$ZSHRC"
fi
echo "\nUninstall Complete."
fi
echo "\nPress Enter to return to menu..."
read
;;
4)
exit 0
;;
*)
echo "\nInvalid choice. Please try again."
sleep 1
;;
esac
done
Windows用:セットアップバッチ
Windowsでも、PowerShellやコマンドプロンプトで実行可能な手順を自動化します。
@echo off
setlocal enabledelayedexpansion
:: ===========================================================================
:: Gemini CLI Setup Configuration
:: ===========================================================================
:: 【URLの更新手順】
:: 1. 下記リリースページで最新バージョンを確認する
:: https://github.com/volta-cli/volta/releases
:: 2. 最新のタグ名に合わせて VOLTA_VER を書き換える (例: 2.0.2)
:: 3. 必要に応じて VOLTA_URL のファイル名部分を更新する
:: (通常はバージョン番号以外を書き換える必要はありません)
:: ===========================================================================
set "VOLTA_VER=2.0.2"
set "VOLTA_URL=https://github.com/volta-cli/volta/releases/download/v%VOLTA_VER%/volta-%VOLTA_VER%-windows.zip"
:: パスの定義
set "VOLTA_HOME_DIR=%USERPROFILE%¥.volta"
set "VOLTA_BIN_DIR=%VOLTA_HOME_DIR%¥bin"
:MENU
cls
echo ===========================================
echo Gemini CLI Setup Menu (Windows)
echo ===========================================
echo 1. Install (Initial Setup)
echo 2. Update (Node.js LTS ^& Gemini CLI)
echo 3. Uninstall (Remove All)
echo 4. Exit
echo ===========================================
echo Current Settings: Volta v%VOLTA_VER%
echo ===========================================
set "choice="
set /p choice="Select a number (1-4) and press Enter: "
if "%choice%"=="1" goto DO_INSTALL
if "%choice%"=="2" goto DO_UPDATE
if "%choice%"=="3" goto DO_UNINSTALL
if "%choice%"=="4" exit /b
goto MENU
:DO_INSTALL
echo.
echo === Installing Gemini CLI... ===
:: すでに volta.exe があるか確認
if exist "%VOLTA_BIN_DIR%¥volta.exe" (
echo [Info] Volta is already installed.
goto SKIP_VOLTA
)
echo [Info] Creating directory: %VOLTA_BIN_DIR%
if not exist "%VOLTA_BIN_DIR%" mkdir "%VOLTA_BIN_DIR%"
echo [Info] Downloading Volta ZIP (v%VOLTA_VER%)...
:: 設定した変数 VOLTA_URL を使用
curl -L -f "%VOLTA_URL%" -o "%TEMP%¥volta.zip"
if %errorlevel% neq 0 (
echo [Error] Download failed. Check the URL in the script or your connection.
pause
goto MENU
)
echo [Info] Extracting Volta...
powershell -NoProfile -Command "Expand-Archive -Path '%TEMP%¥volta.zip' -DestinationPath '%VOLTA_BIN_DIR%' -Force"
del "%TEMP%¥volta.zip"
:: ユーザー環境変数の PATH に追加 (未登録の場合のみ)
powershell -NoProfile -Command "$oldPath = [System.Environment]::GetEnvironmentVariable('PATH', 'User'); if ($oldPath -notlike '*¥.volta¥bin*') { [System.Environment]::SetEnvironmentVariable('PATH', $oldPath + ';%VOLTA_BIN_DIR%', 'User') }"
:SKIP_VOLTA
:: 現在のセッションの PATH を更新
set "PATH=%VOLTA_BIN_DIR%;%PATH%"
echo [Info] Configuring Volta setup...
call "%VOLTA_BIN_DIR%¥volta.exe" setup
echo [Info] Installing Node.js LTS via Volta...
call "%VOLTA_BIN_DIR%¥volta.exe" install node@lts
:: npm を認識させるためにセッションのパスを再構成
set "PATH=%VOLTA_HOME_DIR%¥bin;%PATH%"
echo [Info] Installing Gemini CLI...
:: npm ではなく volta run npm を使うことで確実に呼び出す
call "%VOLTA_BIN_DIR%¥volta.exe" run npm install -g @google/gemini-cli
goto END
:DO_UPDATE
echo.
echo === Updating Gemini CLI... ===
set "PATH=%VOLTA_BIN_DIR%;%PATH%"
if not exist "%VOLTA_BIN_DIR%¥volta.exe" (
echo [Error] Volta not found. Please run 'Install' first.
pause
goto MENU
)
call "%VOLTA_BIN_DIR%¥volta.exe" install node@lts
call "%VOLTA_BIN_DIR%¥volta.exe" run npm install -g @google/gemini-cli@latest
goto END
:DO_UNINSTALL
echo.
echo === Uninstalling Gemini CLI... ===
set /p confirm="Are you sure? (y/n) > "
if /i not "%confirm%"=="y" goto MENU
echo [Info] Removing Volta files...
if exist "%VOLTA_HOME_DIR%" rmdir /s /q "%VOLTA_HOME_DIR%"
echo [Info] Removing PATH entry...
powershell -NoProfile -Command "$p = [System.Environment]::GetEnvironmentVariable('PATH','User') -split ';' | Where-Object { $_ -notlike '*¥.volta*' }; [System.Environment]::SetEnvironmentVariable('PATH', ($p -join ';'), 'User')"
echo === Uninstall Complete ===
pause
goto MENU
:END
echo.
echo ===========================================
echo Process Complete! (完了しました)
echo ===========================================
:: 動作確認
if exist "%VOLTA_BIN_DIR%¥gemini.exe" (
echo [Check] インストール済みバージョン:
"%VOLTA_BIN_DIR%¥gemini.exe" --version
)
echo.
echo 【重要】このウィンドウを閉じ、新しく開き直すと 'gemini' コマンドが有効になります。
echo キーを押すと、このウィンドウを閉じます。
pause >nul
exit /b
マニュアル
# Gemini CLI 管理ガイド
本スクリプトは、Windows および Mac 環境において、管理者権限(sudo/UAC)を極力使わずに Gemini CLI の導入・維持管理を行うためのツールです。
---
## 1. 使い方
各 OS 用のスクリプトファイルを**ダブルクリック**して実行すると、選択メニューが表示されます。実行したい処理の番号を入力し、`Enter` キーを押してください。
### メニュー項目
1. **インストール(初回セットアップ)**
* Volta、Node.js (LTS)、Gemini CLI を一括でインストールします。
2. **アップデート**
* Node.js を最新の LTS へ更新し、Gemini CLI も最新版へ再インストールします。
3. **アンインストール(全削除)**
* 関連ツールとパス設定(環境変数)をすべて削除し、PC を元の状態に戻します。
4. **終了**
* 処理をキャンセルしてメニューを閉じます。
---
## 2. トラブルシューティング:再インストール
もし CLI が正常に動作しなくなったり、コマンドが認識されなくなったりした場合は、**再インストール**を行ってください:
1. **3. アンインストール**を選択して環境を一度クリーンにします。
2. その後、**1. インストール**を選択して再度セットアップをやり直します。
---
## 3. 初回起動時の認証手順
インストール完了後、Google アカウントでの認証が必要です:
1. **新しいターミナル**を開きます。
2. 以下のコマンドを実行します:
gemini /auth
3. 自動的に立ち上がるブラウザ画面からログインしてください。
---
## 4. セキュリティ設定
### 「Trust folder」ダイアログ
フォルダーの信頼を確認するダイアログが表示された場合は、**「Yes, I trust the authors」** を選択してください。
### macOS でのブロック
実行がブロックされた場合は、**「システム設定」>「プライバシーとセキュリティ」**から **[このまま開く]** をクリックして許可してください。
---
## 5. 管理者・メンテナンス向け情報
* **インストール場所:** ツールは `%USERPROFILE%\.volta`(Win)または `~/.volta`(Mac)に保存されます。
* **設定の反映:** 初回インストール後は、環境変数を反映させるために必ずターミナルを再起動してください。
余談ですが
でもそもそもGemini CLIを非エンジニアが使うのは難しんじゃない?
黒い画面でcdコマンドとか打たないといけないでしょ?
ってツッコミがありそうですが、作業するフォルダを右クリックして、ターミナルでそのフォルダを開いてしまえばいいんです!
この方法なら、cdコマンドを打たずに、作業ディレクトリが開くので、あとは gemini と入力して Enter を押すだけ!誰でもできますね。
Macの場合は、「サービス」の中にある「新規ターミナルフォルダに移動」

まとめ
これで、「会社のPCを一番壊さず、かつ最新のAI技術を自由に使いこなす」ことができます。
管理者権限がないからと諦めていた方も、この「ホームディレクトリ完結型」の環境構築で、ぜひGemini CLIのパワーを体感してみてください!
