أعمل حاليًا على تطوير إطار عمل Backend خاص بي باسم RiserBob باستخدام Bun وTypeScript، وأواجه مشكلة أثناء تثبيت الاعتماديات باستخدام Bun، وأحتاج مساعدتكم في تشخيصها وحلها.
وصف المشكلة:
عند تنفيذ الأمر bun install داخل التطبيق التجريبي الذي تم إنشاؤه باستخدام مولّد المشاريع الخاص بالإطار، يفشل تثبيت الحزمة riser-bob بخطأ EPERM، بينما يعمل npm install دون هذه المشكلة.
المشروع يستخدم حزمة محلية باسم riser-bob ضمن مستودع يحتوي على حزم ومشاريع متعددة.
رسالة الخطأ كاملة:
bun install v1.4.3 (c6da4a4d3) 📦 Installing [97/106] Clean lockfile: 107 packages - 107 packages in 561.3us warn: CreateHardLinkW failed, falling back to CopyFileW: \\?\C:\Users\Nokta.byte\OneDrive\Desktop\RiserBob\projects\riser-bob\.github\ISSUE_TEMPLATE\bug_report.md - \\?\C:\Users\Nokta.byte\OneDrive\Desktop\RiserBob\projects\create-riser-bob\test-app\node_modules\riser-bob\.github\ISSUE_TEMPLATE\bug_report.md EPERM: failed copying files from cache to destination for package riser-bob 99 packages installed [7.07s] Failed to install 1 package
ما أحتاج إلى معرفته:
ما السبب المحتمل لفشل Bun في نسخ ملفات الحزمة المحلية riser-bob على Windows، رغم نجاح npm install؟
هل المشكلة ناتجة عن إعدادات الحزمة package.json، أو إعدادات files في الحزمة، أو الـ cache، أو صلاحيات الملفات، أو تعامل Bun مع الروابط الصلبة والنسخ الاحتياطي باستخدام CopyFileW؟
كيف يمكن تحديد السبب الحقيقي بخطوات تشخيص واضحة؟
ما الحل الصحيح الذي يضمن أن المستخدم يستطيع إنشاء مشروع جديد باستخدام مولّد RiserBob وتثبيت الاعتماديات بنجاح؟
هل تنصحون باستبعاد ملفات غير ضرورية مثل .github من الحزمة المنشورة عبر npm، أم أن ذلك مجرد تحسين ولا يعالج السبب الأساسي؟
أفضّل حلًا جذريًا يحافظ على توافق المشروع مع Bun وnpm، بدل الاكتفاء بحذف مجلد node_modules أو تغيير صلاحيات الملفات دون معرفة السبب.
السؤال
Zen Eddin Allaham
مرحبًا فريق أكاديمية حسوب،
أعمل حاليًا على تطوير إطار عمل Backend خاص بي باسم RiserBob باستخدام Bun وTypeScript، وأواجه مشكلة أثناء تثبيت الاعتماديات باستخدام Bun، وأحتاج مساعدتكم في تشخيصها وحلها.
وصف المشكلة:
عند تنفيذ الأمر bun install داخل التطبيق التجريبي الذي تم إنشاؤه باستخدام مولّد المشاريع الخاص بالإطار، يفشل تثبيت الحزمة riser-bob بخطأ EPERM، بينما يعمل npm install دون هذه المشكلة.
مجلد المشروع الذي تظهر فيه المشكلة:
C:\Users\Nokta.byte\OneDrive\Desktop\RiserBob\projects\create-riser-bob\test-app
وتحديدًا أثناء تثبيت الحزمة داخل:
C:\Users\Nokta.byte\OneDrive\Desktop\RiserBob\projects\create-riser-bob\test-app\node_modules\riser-bob
بيئة التطوير:
نظام التشغيل: Windows
Bun: الإصدار 1.4.3
مسار المشروع يحتوي على مجلد OneDrive.
المشروع يستخدم حزمة محلية باسم riser-bob ضمن مستودع يحتوي على حزم ومشاريع متعددة.
رسالة الخطأ كاملة:
bun install v1.4.3 (c6da4a4d3) 📦 Installing [97/106] Clean lockfile: 107 packages - 107 packages in 561.3us warn: CreateHardLinkW failed, falling back to CopyFileW: \\?\C:\Users\Nokta.byte\OneDrive\Desktop\RiserBob\projects\riser-bob\.github\ISSUE_TEMPLATE\bug_report.md - \\?\C:\Users\Nokta.byte\OneDrive\Desktop\RiserBob\projects\create-riser-bob\test-app\node_modules\riser-bob\.github\ISSUE_TEMPLATE\bug_report.md EPERM: failed copying files from cache to destination for package riser-bob 99 packages installed [7.07s] Failed to install 1 packageما أحتاج إلى معرفته:
ما السبب المحتمل لفشل Bun في نسخ ملفات الحزمة المحلية riser-bob على Windows، رغم نجاح npm install؟
هل المشكلة ناتجة عن إعدادات الحزمة package.json، أو إعدادات files في الحزمة، أو الـ cache، أو صلاحيات الملفات، أو تعامل Bun مع الروابط الصلبة والنسخ الاحتياطي باستخدام CopyFileW؟
كيف يمكن تحديد السبب الحقيقي بخطوات تشخيص واضحة؟
ما الحل الصحيح الذي يضمن أن المستخدم يستطيع إنشاء مشروع جديد باستخدام مولّد RiserBob وتثبيت الاعتماديات بنجاح؟
هل تنصحون باستبعاد ملفات غير ضرورية مثل .github من الحزمة المنشورة عبر npm، أم أن ذلك مجرد تحسين ولا يعالج السبب الأساسي؟
أفضّل حلًا جذريًا يحافظ على توافق المشروع مع Bun وnpm، بدل الاكتفاء بحذف مجلد node_modules أو تغيير صلاحيات الملفات دون معرفة السبب.
شكرًا لكم مقدمًا.
RiserBob.zip
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.