إليك ما فعلته. سجلت الدخول إلى الخادم وأدخلت حاوية دوكر.
-
إنشاء مجلد باسم
gems -
إنشاء مجلد فرعي
2.7.5(إصدار روبي المستخدم بواسطة إنتاج ديسكورس علىtests-passed) -
العودة إلى مجلد
gems -
تشغيل الأوامر بهذه الطريقة
RUBY_VERSION=2.7.5 gem install pkg-config -v 1.4.7 -i $RUBY_VERSION --no-document --ignore- dependencies --no-user-install gem install mkmfmf -v 0.4 -i $RUBY_VERSION --no-document --ignore-dependencies --no-user-install ...ملاحظة: هذه هي نفس الأوامر بالضبط التي يقوم ديسكورس بتشغيلها (يحاول تشغيلها، لكنه يفشل) لتثبيت الجيمز.
-
الآن قم بضغط هذا المجلد.
-
اخرج من حاوية دوكر وانسخ الملف المضغوط إلى خارج حاوية دوكر باستخدام أمر
docker cp. -
اتصل بالخادم الخاص بك عبر filezilla أو vscode وقم بتنزيل الملف المضغوط.
-
قم بفك ضغطه إلى المجلد الجذر للمكون الإضافي الخاص بك. لذلك سيحتوي مجلد المكون الإضافي الخاص بك الآن على دليل الجيمز.
-
الآن قم بدفع مجلد الجيمز مع المكون الإضافي إلى جيت هاب.
الآن عندما تقوم بإعادة بناء ديسكورس باستخدام هذا المكون الإضافي، سيستخدم ديسكورس التبعيات التي قدمتها له ولن يحاول تثبيتها. هذا حل مؤقت وسيحتاج إلى إعادة القيام به بمجرد أن يقوم ديسكورس بترقية إصدار روبي.
ولكن هنا السؤال الكبير، لماذا تفشل نفس الأوامر التي تعمل عند تشغيلها من الطرفية عندما يحاول ديسكورس تشغيلها. سيكون من المفيد حقًا النظر في الأمر وآمل أن يكون هناك حل بسيط.