سؤال

قرأت "العلاقات بين Rubygems وBundler وRVM" قبل أن يسألها مرة أخرى .

حسنًا، هناك العديد من الأسئلة مثل هذه، لكن الأشخاص الذين أجابوا يقولون إنهم يعملون مع Rubygems وRVM وBundler، ولم يشرحوا كيفية عمل كل منها بشكل منفصل.

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

يمكن تقسيم حيرتي إلى هذه الأسئلة.أين يتم تثبيت الجوهرة عندما:

  1. لدي فقط Rubygems (بدون RVM أو Bundler)؟
  2. هل تم تثبيت Rubygems وRVM؟
  3. هل تم تثبيت Rubygems وRVM وBundler؟

الرجاء مساعدتي في فهم هذه الأشياء إما من خلال الموارد الموجودة على الويب أو من خلال إجاباتك التفصيلية.

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

المحلول

  1. لمعرفة أين يتم تثبيت الأحجار الكريمة ، قم بتشغيلها echo $GEM_HOME في محطة.
  2. عند استخدام RVM ، يتم تثبيت الأحجار الكريمة في تثبيت RVM لأنه يتغير $ gem_home. ادارة echo $GEM_HOME الآن سيظهر طريقًا في تثبيت RVM الخاص بك.
  3. عند إضافة الحزم إلى المزيج ، سيتم تثبيت الأحجار الكريمة في $GEM_HOME, ، أو ، إذا قمت بتحديد مسار عند التشغيل bundle install سيتم تثبيته على هذا المسار. لمعرفة مكان وجود جوهرة من خلال Bundler يمكنك استخدامها bundle show gemname للحصول على طريقها الكامل.

نصائح أخرى

يستخدم gem env لسرد مسارات الأحجار الكريمة في كل سياق.

بدون RVM gem env سيقوم بالإبلاغ عن مسارات مكتبة GEM.

مع RVM gem env سوف يبلغ عن مسارات مكتبة الأحجار الكريمة التي تديرها RVM.

يدير Bundler تبعيات التطبيق ويتم تثبيته في مكتبة GEM في بيئتك. إذا كنت تستخدم Bundler RVM + ، فسيتم تثبيت الأحجار الكريمة في أدلة GEM المدارة RVM. إذا كنت تستخدمه بدون RVM ، فسيقوم Bundler بتثبيت الأحجار الكريمة في أدلة GEM System.

للعثور على المسار الذي يتم فيه تثبيت جوهرة الاستخدام:

gem which gem_name

للعثور على الاستخدامات التنفيذية (مثل html2haml) استخدام:

which executable_name

لتجنب الكتابة bundle exec html2haml الذي يوصى به فريق Bundler ، استخدم بلدي Rubygems-bundler جوهرة.

أحاول أيضًا أن أفهم كيف يعمل.المدونة "نصيحة حول استخدام Ruby وRVM وPassenger وRails وBundler... في التطوير"لقد ساعدني في الحصول على نظرة عامة أفضل.

راجع للشغل، إنها ترجمة لمقال فرنسي، النسخة الفرنسية أفضل.

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