هل يجب عليك القيام بتثبيت جوهرة مكررة ل JRURY & MRI؟

StackOverflow https://stackoverflow.com/questions/788137

  •  16-09-2019
  •  | 
  •  

سؤال

لدي Jruby و Ruby (MRI) مثبتة. يبدو أنني بحاجة إلى تثبيت GEMS مرتين - مرة واحدة لكل من هذه المنصات. هل هذا ضروري أم أفعل ذلك خطأ؟ بعد أن قمت بتثبيت جوهرة القضبان على التصوير بالرنين المغناطيسي، هل يجب أن أشار إلى Jruby لذلك، أو كان من الضروري بالنسبة لي أيضا الاتصال أيضا بما يلي: "JRURY -S GEM تثبيت القضبان"

هل كانت مفيدة؟

المحلول

إذا قمت بتعيين gem_home، يمكنك مشاركة منشآت GEM الخاصة بك.

نصائح أخرى

تحتاج إلى تثبيت الأحجار الكريمة لكل تثبيت مختلف ل Ruby التي لديك.

بعض الأحجار الكريمة تستهدف منصات محددة، على سبيل المثال mongrel (هناك التصوير بالرنين المغناطيسي واحد و jruby واحد). أيضا، لا يمكن ل JRURY استخدام الأحجار الكريمة التي تحتوي على ملحقات أصلية (أي رمز C) ما لم تستخدم FFI (الذي لا - حتى الآن).

شخصيا لدي ريبوس جوهرة منفصلة للرنين المغناطيسي والرائعة. القليل من المتاعب الإضافية يستحق راحة البال عند محاولة تعقب مشكلة.

من السهل جدا معرفة ما قام كل ريبو بتثبيته:

jruby -S gem list --local

ضد.

gem list --local

يمكنك حتى كتابة برنامج نصي ل Ruby لمزامنة قائمة جوهرة واحدة إلى أخرى، لكن يجب أن تكون حريصا على منصة الأحجار الكريمة المحددة ....

لقد ضربت هذه المشكلة عند إنشاء جوهرة بلدي، jimmy_jukebox., ، ولكن جعل جهرة العمل مع كليهما.

أولا، jruby لا يتعامل fork...exec (وحتى الردود بشكل غير صحيح ل Process.respond_to?(:fork))، لذلك اضطررت إلى rescue NotImplementedError واستخدام Spoon.spawnp في حين أن.

ثم قمت بإنشاء (في دليل GEM / BIN الخاص بي) - play_jukebox و jplay_jukebox; ؛ و load_jukebox و jload_jukebox - كل مع خط shebang الصحيح (/usr/bin/env ruby أو /usr/bin/env jruby).

أحب أن أعرف طريقة أفضل. لكنني أفضل التعامل مع كل شيء ضمن جوهره واحدة من الحفاظ على وتوزيع الأحجار الكريمة متعددة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top