ارتباك Rubygems وBundler وRVM
-
25-09-2019 - |
سؤال
قرأت "العلاقات بين Rubygems وBundler وRVM" قبل أن يسألها مرة أخرى .
حسنًا، هناك العديد من الأسئلة مثل هذه، لكن الأشخاص الذين أجابوا يقولون إنهم يعملون مع Rubygems وRVM وBundler، ولم يشرحوا كيفية عمل كل منها بشكل منفصل.
أنا في حيرة من أمري بشأن كيفية عمل الثلاثة بشكل منفصل عندما نقوم بتثبيت الأحجار الكريمة.من فضلك لا تخبرني كيف تعمل، فهذا سيساعدني، لكنني لن أتعلم ما يحدث عندما نلعب معهم.
يمكن تقسيم حيرتي إلى هذه الأسئلة.أين يتم تثبيت الجوهرة عندما:
- لدي فقط Rubygems (بدون RVM أو Bundler)؟
- هل تم تثبيت Rubygems وRVM؟
- هل تم تثبيت Rubygems وRVM وBundler؟
الرجاء مساعدتي في فهم هذه الأشياء إما من خلال الموارد الموجودة على الويب أو من خلال إجاباتك التفصيلية.
المحلول
- لمعرفة أين يتم تثبيت الأحجار الكريمة ، قم بتشغيلها
echo $GEM_HOME
في محطة. - عند استخدام RVM ، يتم تثبيت الأحجار الكريمة في تثبيت RVM لأنه يتغير $ gem_home. ادارة
echo $GEM_HOME
الآن سيظهر طريقًا في تثبيت RVM الخاص بك. - عند إضافة الحزم إلى المزيج ، سيتم تثبيت الأحجار الكريمة في
$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... في التطوير"لقد ساعدني في الحصول على نظرة عامة أفضل.
راجع للشغل، إنها ترجمة لمقال فرنسي، النسخة الفرنسية أفضل.