前一篇我已安裝好 Scoop 工具並用它來安裝系統全域 Python 執行環境, 管理虛擬環境與專案的 uv 工具, Git 與 nvm 以及 Node.js, 本篇要在此基礎上安裝 Claude Code 與 Gemini CLI.
本系列之前的文章參考 :
1. 安裝 Claude Code :
在 Windows 上可以安裝原生版 Claude Code 軟體並使用 Git 附帶的 git-bash 指令列作為介面, 參考 :
在前一篇測試中已用 Scoop 安裝了 git, 在安裝原生版 Claude Code 之前必須先把 git-bash 的程式位置設在特定的使用者環境變數 CLAUDE_CODE_GIT_BASH_PATH 中, Claude Code 會固定找尋此環境變數來取得 git-bash 程式位置.
我照之前做法用 where.exe 查詢 git-bash 程式的位置 :
PS C:\WINDOWS\System32> where.exe bash
資訊: 找不到提供模式的檔案。
詢問 Gemini 原因, 原來是 Scoop 還沒幫 git-bash 生成墊片 (Shim), 因為 Scoop 預設只會幫該軟體的核心指令建立墊片, 而 git-bash.exe 或 bash.exe 這種附屬的小工具, Scoop 預設不會把它們放進全域的 shims 資料夾裡, where.exe 是一個很笨的工具, 它只會去 Windows 系統的 PATH 捷徑資料夾裡撈東西, 既然 Scoop 預設沒有幫 git-bash.exe 建立全域捷徑, where.exe 自然就回報找不到.
其實用 scoop which git 指令就可以查到 git 的位置了 :
PS C:\WINDOWS\System32> scoop which git
~\scoop\apps\git\current\cmd\git.exe
注意, 這位置開頭的波浪 ~ 雖然在 Power Shell 視窗可以被辨識 (代表我的使用者目錄 : C:\Users\tony1), 但 Claude Code 作為一個外部引擎去讀取環境變數時可能會看不懂, 必須置換為使用者路徑, 並且將 git.exe 改成 git-bash.exe, 完整的絕對位置如下 :
C:\Users\tony1\scoop\apps\git\current\cmd\git-bash.exe
接下來可以像之前的做法那樣, 手動到系統設定中新增一個使用者環境變數 CLAUDE_CODE_GIT_BASH_PATH 並設為此位置設定, 也可以用下列 PS 指令一鍵完成設定 :
PS C:\WINDOWS\System32> [Environment]::SetEnvironmentVariable("CLAUDE_CODE_GIT_BASH_PATH", "C:\Users\tony1\scoop\apps\git\current\git-bash.exe", "User")
設定好後關閉 PS 視窗重開新的, 用下列指令檢查環境變數是否正確 :
PS C:\WINDOWS\System32> $env:CLAUDE_CODE_GIT_BASH_PATH
C:\Users\tony1\scoop\apps\git\current\git-bash.exe
這樣便可以在新開的 PS 視窗安裝 Windows 原生版的 Claude Code 了 :
PS C:\WINDOWS\System32> irm https://claude.ai/install.ps1 | iex
Setting up Claude Code...
√ Claude Code successfully installed!
Version: 2.1.179
Location: C:\Users\tony1\.local\bin\claude.exe
Next: Run claude --help to get started
‼ Setup notes:
● Native installation exists but C:\Users\tony1\.local\bin is not in your PATH. Add it by opening: System Properties →
Environment Variables → Edit User PATH → New → Add the path above. Then restart your terminal.
✅ Installation complete!
版本已經來到 v2.1.179 了. 請注意在 Setup notes 中有提醒要將 Claude Code 的執行檔目錄路徑加入使用者環境變數 Path 中, 這樣以後才能在任何路徑下執行 Claude Code.
當然可以到系統設定中手動將 C:\Users\tony1\.local\bin 加到 使用者環境變數 Path 的最後面, 也可以用下面兩個 PS 指令設定 :
PS C:\WINDOWS\System32> $oldPath = [Environment]::GetEnvironmentVariable("PATH", "User")
這指令是抓取目前登入使用者 (tony1) 現有的 User PATH 設定後儲存在 $oldPath 變數中.
PS C:\WINDOWS\System32> [Environment]::SetEnvironmentVariable("PATH", "$oldPath;C:\Users\tony1\.local\bin", "User")
第二個指令是把新路徑接到舊路徑後面 (用分號隔開) 並寫回 Windows 系統的使用者環境變數 Path 中.
檢查環境變數異動須重開一個 PS 視窗, 輸入下列指令 :
PS C:\WINDOWS\System32> $env:PATH -split ";"
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
C:\WINDOWS\System32\OpenSSH\
C:\Program Files\NVIDIA Corporation\NVIDIA App\NvDLISR
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
C:\Users\tony1\scoop\apps\nvm\current
C:\Users\tony1\scoop\apps\nvm\current\nodejs\nodejs
C:\Users\tony1\scoop\apps\git\current\cmd
C:\Users\tony1\scoop\persist\uv\tools\shims
C:\Users\tony1\scoop\persist\uv\python\shims
C:\Users\tony1\scoop\apps\python\current\Scripts
C:\Users\tony1\scoop\apps\python\current
C:\Users\tony1\scoop\shims
C:\Users\tony1\AppData\Local\Microsoft\WindowsApps
C:\Users\tony1\.local\bin
最後一個便是 Claude Code 的執行檔目錄位置.
輸入 claude 按 Enter 出現如下畫面 :
這樣便完成 Claude Code 的安裝了. 接下來安裝 Gemini CLI.
2. 用 npm 安裝 Gemini CLI :
我們在前一篇測試中已安裝好 Node.js, 接下來參考之前的作法, 在 PS 視窗輸入下列 npm 指令安裝 Gemini CLI :
PS C:\WINDOWS\System32> npm install -g @google/gemini-cli
changed 7 packages in 2s
npm warn allow-scripts 2 packages have install scripts not yet covered by allowScripts:
npm warn allow-scripts @github/keytar@7.10.6 (install: node script/install.js || npm run build)
npm warn allow-scripts node-pty@1.1.0 (install: node scripts/prebuild.js || node-gyp rebuild; postinstall: node scripts/post-install.js)
npm warn allow-scripts
npm warn allow-scripts Run `npm approve-scripts --allow-scripts-pending` to review, or `npm approve-scripts <pkg>` to allow.
出現警告而未能安裝 Gemini CLI, 我將上面訊息貼給 Gemini, 原來 @google/gemini-cli 這個工具為了能在終端機裡呈現帥氣的互動介面需依賴兩個非常硬核的底層套件 :
- node-pty : 負責模擬 Linux/Unix 終端機介面.
- @github/keytar : 負責安全地把 Google API Key 存進 Windows 的憑證保險箱.
在安裝 @google/gemini-cli 時, 它會執行編譯腳本動作, 將此二套件的 C++ 程式碼編譯成 Windows 的二進位檔, 新版的 npm 為了防止惡意軟體偷偷在背後跑腳本, 預設會攔截這些行為跳出警告.
要解除此攔截需先用下列指令修改 npm 的全域設定, 強迫允許執行腳本 :
PS C:\WINDOWS\System32> npm config set ignore-scripts false --global
然後用下列指令 --foreground-scripts 參數繞過權限管理員, 強迫 Windows 彈出編譯視窗, 直接在最前面把 node-pty 和 keytar 編譯出來後, 直接進行全域強制覆蓋安裝 :
PS C:\WINDOWS\System32> npm install -g @google/gemini-cli --foreground-scripts
> @github/keytar@7.10.6 install
> node script/install.js || npm run build
> node-pty@1.1.0 install
> node scripts/prebuild.js || node-gyp rebuild
> Checking prebuilds...
> node-pty@1.1.0 postinstall
> node scripts/post-install.js
> Cleaning release folder...
> Moving conpty.dll...
Using os.arch(): x64
Found version 1.23.251008001
Copying C:\Users\tony1\scoop\persist\nvm\nodejs\v26.3.0\node_modules\@google\gemini-cli\node_modules\node-pty\third_party\conpty\1.23.251008001\win10-x64\conpty.dll -> C:\Users\tony1\scoop\persist\nvm\nodejs\v26.3.0\node_modules\@google\gemini-cli\node_modules\node-pty\build\Release\conpty\conpty.dll
Copying C:\Users\tony1\scoop\persist\nvm\nodejs\v26.3.0\node_modules\@google\gemini-cli\node_modules\node-pty\third_party\conpty\1.23.251008001\win10-x64\OpenConsole.exe -> C:\Users\tony1\scoop\persist\nvm\nodejs\v26.3.0\node_modules\@google\gemini-cli\node_modules\node-pty\build\Release\conpty\OpenConsole.exe
changed 7 packages in 2s
npm warn allow-scripts 2 packages have install scripts not yet covered by allowScripts:
npm warn allow-scripts @github/keytar@7.10.6 (install: node script/install.js || npm run build)
npm warn allow-scripts node-pty@1.1.0 (install: node scripts/prebuild.js || node-gyp rebuild; postinstall: node scripts/post-install.js)
npm warn allow-scripts
npm warn allow-scripts Run `npm approve-scripts --allow-scripts-pending` to review, or `npm approve-scripts <pkg>` to allow.
雖然新版 npm 仍然頑固地跳出 npm warn allow-scripts 警告, 但 Gemini CLI 已經安裝成功了 (黃底色部分顯示 node-pty 最核心的底層微軟虛擬終端組件 conpty.dll 和 OpenConsole.exe 已經成功複製, 編譯與就位了), 這樣便可將上面強迫允許執行腳本的 npm 全域設定復原了 :
PS C:\WINDOWS\System32> npm config delete ignore-scripts --global
關閉 PS 視窗重開一個, 輸入 gemini 按 Enter 出現如下畫面表示 Gemini CLI 已經安裝成功了 :


沒有留言 :
張貼留言