כלי בניית אלקטרון שגיאה שגיאה: נכשל להריץ "choco install pywin32 --yes"
- Tan Shuai
- פיתוח תוכנה
- 08 Sep, 2021
בעת עבודה עם Electron Build Tools, ייתכן שתתקלו בשגיאה הקשורה להתקנת pywin32 דרך Chocolatey. זה יכול להיות מתסכל, במיוחד כאשר מדובר בתלות הכרחית לפרויקט שלכם. להלן הסבר מפורט על הבעיה ושלבים אפשריים לפתרונה.
השגיאה
בעת אתחול פרויקט Electron באמצעות Electron Build Tools, ייתכן שתראו את הודעת השגיאה הבאה:
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 כבר אינה תקפה, מה שאומר ש-Chocolatey לא יכול לאחזר את קבצי ההתקנה הנדרשים.
שלבי פתרון בעיות
להלן מספר שלבים שתוכלו לנקוט כדי לפתור בעיה זו:
1. ודאו את התקנת Chocolatey
ודאו ש-Chocolatey מותקן כראוי ומעודכן לגרסה האחרונה. ניתן לבדוק את גרסת Chocolatey שלכם עם:
choco --version
כדי לעדכן את Chocolatey, השתמשו בפקודה:
choco upgrade chocolatey
2. התקנת pywin32 באופן ידני
מכיוון שההתקנה האוטומטית נכשלת, נסו להתקין את pywin32 באופן ידני. ניתן להוריד את הגרסה המתאימה מדף שחרורי pywin32 ב-GitHub ולהתקין אותה באופן ידני.
3. שינוי סקריפט ההתקנה
אם יש לכם שליטה על סקריפט Electron Build Tools, תוכלו לשנות אותו כך שיצביע על כתובת URL תקפה עבור pywin32 או לטפל בתהליך ההתקנה הידני.
4. השתמשו במנהל חבילות חלופי
אם Chocolatey ממשיך להיכשל, שקלו להשתמש במנהל חבילות חלופי כמו pip עבור חבילות פייתון:
pip install pywin32
דוגמה להתקנה ידנית של pywin32
- הורידו את מתקין pywin32 המתאים מהגרסאות הרשמיות ב-GitHub.
- הפעילו את המתקין ועקבו אחר הוראות ההתקנה.
- וודאו את ההתקנה על ידי הרצת סקריפט פייתון פשוט המייבא את pywin32:
import win32api
print(win32api.GetVersionEx())
היתקלות בשגיאת "Failed to run choco install pywin32 --yes
" יכולה להיות מכשול בתהליך הפיתוח שלכם. עם זאת, על ידי הבנת שורש הבעיה וביצוע הצעדים המפורטים לעיל, תוכלו להתגבר על הבעיה ולהמשיך בהגדרת פרויקט ה-Electron שלכם.