Electron 構建工具 ERROR Error: Failed to run "choco install pywin32 --yes"
當使用 Electron Build Tools 時,您可能會遇到與通過 Chocolatey 安裝 pywin32 相關的錯誤。這可能會令人沮喪,尤其是當它是您的專案所需的依賴項時。以下是關於此問題的詳細說明及解決步驟。
錯誤
在使用 Electron Build Tools 初始化 Electron 專案時,您可能會看到以下錯誤訊息:
E:\\>e init main-testing -i testing --root=e:/src/electron
WARN A fixable error has occurred
--> A required dependency "pywin32" could not be located, it probably has to be installed.
Do you want build-tools to try fix this for you? [y/n]: y
Running "choco install pywin32 --yes"
ERROR Error: Failed to run "choco install pywin32 --yes"
at spawnSyncWithLog (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\deps-check.js:11:11)
at fix (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\deps-check.js:39:9)
at maybeAutoFix (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\maybe-auto-fix.js:13:3)
at whichAndFix (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\which.js:10:5)
at checkPlatformDependencies (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\deps-check.js:61:7)
at Object.<anonymous> (C:\\Users\\zeeis\\.electron_build_tools\\src\\e-init.js:165:3)
at Module._compile (internal/modules/cjs/loader.js:1072:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
at Module.load (internal/modules/cjs/loader.js:937:32)
at Function.Module._load (internal/modules/cjs/loader.js:778:12)
此錯誤通常是由於 pywin32 套件的安裝腳本無法在遠端伺服器上找到所需的文件。這導致了 404 錯誤,表明該文件在指定的 URL 上不可用。
理解錯誤
錯誤訊息的關鍵部分是:
ERROR: The remote file either doesn't exist, is unauthorized, or is forbidden for url 'http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/pywin32-219.win-amd64-py3.9.exe/download'. Exception calling "GetResponse" with "0" argument(s): "The remote server returned an error: (404) Not Found."
這表示 pywin32 的下載 URL 不再有效,這意味著 Chocolatey 無法檢索所需的安裝文件。
### 疑難排解步驟
以下是一些解決此問題的步驟:
#### 1. 驗證 Chocolatey 安裝
確保 Chocolatey 安裝正確並更新至最新版本。您可以使用以下命令檢查 Chocolatey 版本:
```bash
choco --version
要更新 Chocolatey,使用:
choco upgrade chocolatey
2. 手動安裝 pywin32
由於自動安裝失敗,嘗試手動安裝 pywin32。您可以從官方 pywin32 GitHub 發行頁面下載適當的版本並手動安裝。
3. 修改安裝腳本
如果您可以控制 Electron Build Tools 腳本,您可以將其修改為指向有效的 pywin32 URL 或處理手動安裝過程。
4. 使用替代的包管理器
如果 Chocolatey 繼續失敗,考慮使用其他包管理器,如 pip 來安裝 Python 包:
pip install pywin32
手動安裝 pywin32 的示例
- 從官方 GitHub 發行頁面下載適當的 pywin32 安裝程序。
- 運行安裝程序並按照安裝說明進行操作。
- 通過運行簡單的 Python 腳本來驗證安裝:
import win32api
print(win32api.GetVersionEx())
遇到 "Failed to run choco install pywin32 --yes
" 錯誤可能會阻礙您的開發過程。然而,通過了解根本原因並按照上述步驟操作,您可以克服這個問題,繼續進行您的 Electron 項目設置。