3.2 KiB
title | localeTitle |
---|---|
Managing Ruby versions | إدارة إصدارات روبي |
تغير روبي بمرور الوقت
كانت روبي في تطور مستمر منذ 1990s ، ومثل العديد من اللغات ، كانت هناك تغييرات في بناء الجملة عبر الإصدارات ، لذا من المهم أن تكون واضحًا حول إصدار روبي الذي تتوقعه شفرتك.
ربما كان التغيير الأكثر وضوحا مع روبي 1.9. سابقا ، كتبنا يغسل مثل هذا:
{ :one => 1, :two => 2, :three => 3 }
هذا الاستخدام لمشغل 'hashrocket' ( =>
) كان شائعا جدا ، أن Ruby 1.9 قدم اختصارًا:
{ one: 1, two: 2, three: 3 }
تعمل هذه التعليمة البرمجية القديمة على أي إصدار ، ولكن سيتم تشغيل الجملة الأحدث فقط على روبي 1.9+.
كيف يسبب هذا المشاكل؟
على سبيل المثال ، قد تكون قررت استخدام Gem الذي يعتمد داخليًا عليه ميزات روبي 1.9 هذا يعني أن مشروعك الآن يعتمد أيضًا على روبي 1.9 الميزات.
إذا لم تحدد إصدار روبي الذي تحتاجه للمشروع ، فيمكن أن يكون الأمر كذلك مربكة عندما يعمل الكود على جهاز واحد ، ولكن ليس آخر.
كما هو الحال مع معظم اللغات ، يعتبر من الممارسات الجيدة تحديد إصدار روبي التي يتوقعها رمزك. هذا يجعل الأمر أسهل بكثير لإدارة متعددة مشاريع على جهاز التنمية الخاص بك ، كل توقع إصدار مختلف من روبي.
كيف يمكنني تحديد إصدار روبي؟
هناك نوعان من الأدوات التي تحظى بشعبية كبيرة ، لكن كلاهما وافق على ذلك مشاركة ملف مشترك. العديد من مشاريع Ruby (أو Rails) ستشمل بسيطة ملف .ruby-version
، الذي يحدد ببساطة رقم إصدار ، على سبيل المثال :
2.4.2
الأدوات الشائعة لمساعدتك في إدارة إصدار روبي هي:
دعونا ننظر في RVM.
باستخدام RVM
عادةً ما يتم تثبيت RVM ( رابط ) على Linux أو Unix أو MacOS الجهاز ، ومريحة للغاية لأنه خطاف في cd
( c
hange d
irectory) الأمر عند الانتقال إلى مشروع جديد ، تتم قراءة .ruby-version
الخاص بك تلقائيا ، وأنت تحول تلقائيا إلى الإصدار الصحيح من روبي قبل البدء في العمل.
على سبيل المثال ، قد يكون لديك هذا التسلسل:
`% cd ~/projects/older-project % ruby --version
ruby 2.3.5p376 (2017-09-14 revision 59905) [x86_64-darwin16]
% cd ~/projects/newer-project % ruby --version
ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin16] `
(هذه الأمثلة من جهاز MacOS)