أدوات بناء إلكترون ERROR Error: Failed to run "choco install pywin32 --yes"
- Tan Shuai
- تطوير البرمجيات
- 08 Sep, 2021
عند العمل باستخدام أدوات بناء Electron، قد تواجه خطأ يتعلق بتثبيت pywin32 عبر Chocolatey. قد يكون هذا محبطًا، خاصة عندما تكون هذه حزمة مطلوبة لمشروعك. أدناه تجد شرحًا مفصلًا للمشكلة وخطوات محتملة لحلها.
الخطأ
عند تهيئة مشروع Electron باستخدام أدوات بناء 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."
هذا يشير إلى أن عنوان URL لتنزيل pywin32 لم يعد صالحًا، مما يعني أن Chocolatey لا يمكنه استرجاع ملفات التثبيت اللازمة.
خطوات استكشاف الأخطاء وإصلاحها
إليك بعض الخطوات التي يمكنك اتخاذها لحل هذه المشكلة:
1. التحقق من تثبيت Chocolatey
تأكد من تثبيت Chocolatey بشكل صحيح وتحديثه إلى أحدث إصدار. يمكنك التحقق من إصدار Chocolatey باستخدام:
choco --version
لتحديث Chocolatey، استخدم:
choco upgrade chocolatey
2. تثبيت pywin32 يدويًا
نظرًا لفشل التثبيت التلقائي، حاول تثبيت pywin32 يدويًا. يمكنك تنزيل الإصدار المناسب من صفحة إصدارات pywin32 على GitHub وتثبيته يدويًا.
3. تعديل نص التثبيت
إذا كان لديك سيطرة على نص أدوات بناء Electron، يمكنك تعديله للإشارة إلى عنوان URL صالح لـ pywin32 أو التعامل مع عملية التثبيت اليدوي.
4. استخدام مدير حزم بديل
إذا استمر فشل Chocolatey، فكر في استخدام مدير حزم بديل مثل pip لحزم Python:
pip install pywin32
مثال على التثبيت اليدوي لـ pywin32
- قم بتنزيل المثبت المناسب لـ pywin32 من الإصدارات الرسمية على GitHub.
- شغل المثبت واتبع تعليمات التثبيت.
- تحقق من التثبيت عن طريق تشغيل برنامج Python بسيط يستورد pywin32:
import win32api
print(win32api.GetVersionEx())
يمكن أن يكون مواجهة خطأ "Failed to run choco install pywin32 --yes
" عقبة في عملية التطوير الخاصة بك. ومع ذلك، من خلال فهم السبب الجذري واتباع الخطوات المذكورة أعلاه، يمكنك التغلب على هذه المشكلة والاستمرار في إعداد مشروع Electron الخاص بك.