Công Cụ Xây Dựng Electron LỖI Lỗi: Không Thể Chạy "choco install pywin32 --yes"
- Tan Shuai
- Phát Triển Phần Mềm
- 08 Sep, 2021
Khi làm việc với Electron Build Tools, bạn có thể gặp lỗi liên quan đến việc cài đặt pywin32 qua Chocolatey. Điều này có thể gây khó chịu, đặc biệt khi nó là một phụ thuộc cần thiết cho dự án của bạn. Dưới đây là giải thích chi tiết về vấn đề và các bước tiềm năng để giải quyết nó.
Lỗi
Khi khởi tạo một dự án Electron bằng Electron Build Tools, bạn có thể thấy thông báo lỗi sau:
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)
Lỗi này thường xảy ra vì script cài đặt gói pywin32 không thể tìm thấy các tệp cần thiết trên máy chủ từ xa. Điều này dẫn đến lỗi 404, cho thấy tệp không có sẵn tại URL đã chỉ định.
Hiểu Lỗi
Phần chính của thông báo lỗi là:
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."
Điều này chỉ ra rằng URL tải xuống cho pywin32 không còn hợp lệ, có nghĩa là Chocolatey không thể lấy các tệp cài đặt cần thiết.
Các Bước Khắc Phục Sự Cố
Dưới đây là một số bước bạn có thể thực hiện để giải quyết vấn đề này:
1. Xác Minh Cài Đặt Chocolatey
Đảm bảo rằng Chocolatey được cài đặt đúng cách và cập nhật lên phiên bản mới nhất. Bạn có thể kiểm tra phiên bản Chocolatey của mình bằng:
choco --version
Để cập nhật Chocolatey, sử dụng:
choco upgrade chocolatey
2. Cài Đặt Thủ Công pywin32
Vì cài đặt tự động đang thất bại, hãy thử cài đặt thủ công pywin32. Bạn có thể tải xuống phiên bản phù hợp từ trang phát hành GitHub chính thức của pywin32 và cài đặt thủ công.
3. Chỉnh Sửa Script Cài Đặt
Nếu bạn có quyền kiểm soát đối với script Electron Build Tools, bạn có thể chỉnh sửa nó để trỏ đến một URL hợp lệ cho pywin32 hoặc xử lý quá trình cài đặt thủ công.
4. Sử Dụng Trình Quản Lý Gói Khác
Nếu Chocolatey tiếp tục gặp lỗi, hãy xem xét sử dụng một trình quản lý gói thay thế như pip cho các gói Python:
pip install pywin32
Ví Dụ Về Cài Đặt Thủ Công pywin32
- Tải xuống trình cài đặt pywin32 thích hợp từ phát hành chính thức trên GitHub.
- Chạy trình cài đặt và làm theo hướng dẫn cài đặt.
- Xác minh cài đặt bằng cách chạy một đoạn mã Python đơn giản nhập pywin32:
import win32api
print(win32api.GetVersionEx())
Gặp phải lỗi "Failed to run choco install pywin32 --yes
" có thể là một trở ngại trong quá trình phát triển của bạn. Tuy nhiên, bằng cách hiểu nguyên nhân gốc rễ và làm theo các bước đã nêu ở trên, bạn có thể khắc phục vấn đề này và tiếp tục thiết lập dự án Electron của mình.