GeminiCLIを高速に起動する方法
Windows環境ではGemini CLIの起動がやたら遅い。(Windowsだけじゃないかもしれない)
Critical Slowdown in Gemini CLI Startup Time (up to 60 seconds)
自己責任となるが 非公式ながら Bun を利用すると比較的早く起動できるようになる。
手順
Bunをインストールする
bun install -g @google/gemini-cli で Gemini CLIをインストール
起動スクリプトを 優先度の高い パスの通った場所に配置する
gemini の起動を完全に置き換えたい場合は gemini.ps1 とする
PowerShellのプロファイルに関数として書いても良い
code:gemini.ps1(sh)
$binPath = bun pm bin -g
$installPath = Split-Path $binPath -Parent
$index = Join-Path $installPath "install\global\node_modules\@google\gemini-cli\dist\index.js"
bun --bun $index $args
メモ
BunはNode.jsがインストールされているとNode.jsを優先的に利用する
通常 bunfig.toml でこの挙動を抑制できるがグローバルでは設定できない
そのため bun --bun (Bunを優先的に利用するモード) で Gemini CLI の本体を直接起動してやれば良いという仕組み
組み込みの自動アップデートの挙動が npm install -g @google/gemini-cli を実行しようとしているため事実上自動アップデートが無効になる
アップデートは bun install -g @google/gemini-cli で手動で行うこと
ちなみに同様の手法で Codex も Bun で動作させることができる
起動スクリプトを調整し $index = Join-Path $installPath "install\global\node_modules\@openai\codex\bin\codex.js" とすると良い
本体の読み込みのIOが多量に発生していることが原因らしいが詳しくは調べていない
Bunで早くなる理由はモジュールのキャッシュの制御が優秀とかそういうことなのかもしれない