freeCodeCamp/guide/arabic/ruby/managing-ruby-versions/index.md

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)