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

60 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Managing Ruby versions
localeTitle: إدارة إصدارات روبي
---
## تغير روبي بمرور الوقت
كانت روبي في تطور مستمر منذ 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)](https://rvm.io)
* [rbenv](https://github.com/rbenv/rbenv)
دعونا ننظر في RVM.
### باستخدام RVM
عادةً ما يتم تثبيت RVM ( [رابط](https://rvm.io) ) على 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)