أواجه مشكلة أثناء تثبيت بعض الـ gems في الـ plugin

@سام

لم أتمكن من تثبيت بعض الجيمات (gems) في الإضافة، على سبيل المثال google-protobuf. هذا الجيم هو اعتماد (dependency) لجيم google-cloud-vision.

إليك إضافة تحاول تثبيته: GitHub - fzngagan/gem-issue · GitHub

السجلات
gem install google-protobuf -v 3.13.0 -i /Users/faiz/discenv/discourse/plugins/gem-issue/gems/2.6.3 --no-document --ignore-dependencies --no-user-install
Successfully installed google-protobuf-3.13.0-universal-darwin
1 gem installed
You are specifying the gem google-protobuf in /Users/faiz/discenv/discourse/plugins/gem-issue/plugin.rb, however it does not exist!
Looked for: /Users/faiz/discenv/discourse/plugins/gem-issue/gems/2.6.3/specifications/google-protobuf-3.13.0.gemspec

السبب في ذلك هو أن اسم ملف .gemspec لا يطابق اسم spec_file المفترض في الكود هنا.

في رأيي، قد يحدث هذا فقط عند استخدام جيمات خاصة بمنصة معينة (platform-specific gems)، حيث يتم إضافة اسم المنصة إلى اسم الجيم إذا كان معتمدًا على المنصة. وهذا موضح هنا: Specification Reference - RubyGems Guides

غير واضح لماذا ذكرتني في هذا الموضوع؟ لا أعرف الكثير عن حل الجواهر المخصصة لدينا، آسف.

لقد تفحصت سجل التعديلات، وأظن أنك قمت بأغلب الالتزامات في الملف؟ يسعدني أن تُوجهني في الاتجاه الصحيح هنا :slight_smile:

أعتقد أن @sam قد يكون قادرًا على المساعدة. لقد كتب وظيفة استيراد الجيم (gem) للإضافات.

بالتأكيد، شكرًا لك على التلميح.

@سام هل سنحت لك الفرصة لإلقاء نظرة؟

@sam هل يمكنك مساعدة @fzngagan في هذا؟ أنا أمول هذا الإضافة:

وسيتاح للجميع. من الضروري الحفاظ على المنتدى خاليًا من الصور التي قد تضر، وسيساعد بالتأكيد في تجنب تلقي إشعارات من Google Adsense بسبب المحتوى غير المسموح به.

أظن أن هناك خطأ برمجي هنا، ربما يمكنك تقديم طلب سحب (PR) لمحاولة إصلاح هذا الغرابة؟

إليك طلب سحب (PR) بسيط جدًا لحل هذه المشكلة.

حاولت إيجاد طريقة أنيقة للتعامل مع الأمر بحيث لا يضطر المطورون للقلق بشأن مسألة المنصة، لكنني لم أجد أيًا منها. يسعدني تحسين هذا الحل إذا عثرت على حل أفضل.

أيضًا، نصيحة للمطورين: يمكنك ببساطة إضافة المكتبة (gem) إلى ملف gemfile الخاص بـ discourse أثناء التطوير دون أن تصاب بالجنون. اقلق بشأن كل هذا فقط عند النشر.

شكرًا لك على الدمج @sam.