البحث في الموقع
المحتوى عن 'rvm'.
-
يمكنك استخدام لغة البرمجة الديناميكية روبي Ruby في عدة مجالات، مثل النصوص البرمجية وتطوير الألعاب وتطبيقات الويب، وعن تاريخ هذه اللغة فقد جرى إصدارها عام 1993 في اليابان واشتُهرت في عام 2005 على أنها لغة برمجة تطبيقات الويب بطرف الخادم، إذ صُممت روبي على أنها لغة سهلة الاستخدام خصوصًا للمبتدئين وقوية في نفس الوقت قادرة على إنشاء الأنظمة المعقدة، لذا فمهما كان مستواك البرمجي فتجربة هذه اللغة تستحق الاهتمام. سنتعرف في هذا المقال على إحدى أسهل طرق تثبيت روبي ضمن نظام التشغيل أوبنتو Ubuntu من لينكس باستخدام مدير إصدارات روبي Ruby Version Manager ويختصر إلى RVM، الذي يساعدنا في تنزيل وتثبيت آخر نسخة من روبي مع المكتبات التي تحتاجها، إذ سنجهز بيئةً برمجيةً محلية على جهاز بنظام تشغيل لينكس باستخدام سطر الأوامر ونختبرها بكتابة برنامج روبي بسيط، ويمكنك تطبيق نفس الخطوات في هذا المقال ضمن أي توزيعة لينكس ديبيان Debian أخرى، كما يمكنك متابعة الخطوات وتنفيذها على نظام تشغيل أوبنتو 22.04 والتأكد من تنفيذ الأوامر وذلك من خلال حساب بصلاحيات مدير والتأكد من وجود اتصال بالإنترنت على الجهاز. استخدام الطرفية سنستخدم سطر الأوامر command line لتنفيذ الأوامر وتثبيت روبي، وهي واجهة نصية تمكنك من التعامل مع جهازك بكتابة أوامر نصية وظهور نتيجتها نصيًا أيضًا، وهي بديلٌ عن الواجهة المرئية التي نستخدم فيها مؤشر الفأرة للضغط على الأزرار والتطبيقات للتعامل مع الحاسوب. يُدعى سطر الأوامر أيضًا باسم الصدفة shell، التي تتيح لنا أتمتة العديد من المهام اليومية على الحاسوب وهي من أهم الأدوات التي يجب على المبرمج إتقانها، وسنبدأ في الفقرة التالية باستخدامها لتثبيت مدير إصدارات روبي RVM والذي سيُثبت روبي وكل ما يلزمها. تثبيت RVM وروبي لنبدأ بتثبيت RVM والذي سيؤتمت عملية إعداد بيئة روبي ضمن نظام أوبنتو، إذ أن أسهل وأسرع طريقة لتثبيته هي عبر تنفيذ النص البرمجي المتاح على موقع RVM، إذ يمكنك باستخدام الأمر gpg جلب المفتاح العام من خادم RVM والذي يُستخدم لتوقيه كل إصدار جديد من RVM، ما يتيح إمكانية التحقق من أن إصدار RVM الذي نحاول تنزيله هو إصدار أصلي وصحيح، ويمكنك ذلك بتنفيذ الأمر التالي: $ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB وفي حال حدوث مشاكل بتنفيذ الأمر السابق يمكنك تجربة الأمر التالي: $ command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - $ command curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import - يمكن باستخدام الأمر curl تنزيل النص البرمجي لتثبيت RVM، وسنبدأ أولًا بتثبيت ذلك الأمر في حال لم يكن مثبتًا: $ sudo apt-get install curl عند تنفيذه، ستُسأل عن كلمة مرور حسابك قبل التثبيت، وستلاحظ عند كتابة كلمة المرور عدم ظهور المحارف التي تكتبها ضمن الطرفية وهي ميزة أمان لإخفاء كلمات المرور عندما تدخلها ضمن الطرفية، لذا يمكنك كتابة الكلمة بصورةٍ طبيعية حتى لو لم ترى المحارف التي تدخلها، ثم اضغط المفتاح Enter ليُثبت البرنامج. بعدها سنستخدم curl لتنزيل النص البرمجي لتثبيت RVM من موقع الخاص به من خلال الأمر التالي، ولاحظ محرف \ في بداية الأمر وهو ضروري لتنفيذ الأمر الأصلي وليس أي تسميات لأوامر أخرى تطابقه: $ \curl -sSL https://get.rvm.io -o rvm.sh الخيارات المُمررة للأمر السابق مهمة لذلك سنشرح كل منها على النحو التالي: الخيار s- اختصارًا للأمر silent--: يخبر الأمر curl ألا يظهر شريط تقدم عملية إرسال الطلب. الخيار S- اختصارًا للأمر show-error--: يخبر الأمر curl بإظهار رسائل خطأ فشل الطلب. الخيار L- اختصارًا للأمر location--: يخبر الأمر curl بمعالجة طلبات إعادة التوجيه التي قد يرسلها الخادم في حالات انتقال الملف المطلوب لعنوان آخر، إذ سيعيد إرسال نفس الطلب للعنوان الجديد. يمكنك معاينة محتوى النص البرمجي بعد انتهاء التنزيل بتنفيذ الأمر التالي: $ less rvm.sh يمكنك استخدام الأسهم التنقل وتصفح محتوى ذلك الملف، وبعد الانتهاء يمكنك الضغط على q للخروج والرجوع إلى الطرفية، والآن يمكنك تنفيذه لتثبيت آخر إصدار مستقر من RVM على النحو التالي: $ cat rvm.sh | bash -s stable سينتج عن تنفيذ هذا الأمر إنشاء مجلد جديد بالاسم "rvm." ضمن المجلد الأساس home للمستخدم الحالي، إذ ستُثبت ضمنه روبي وكل المكونات التي تحتاجها مع البرنامج التنفيذي rvm الذي سنستخدمه لتثبيت روبي، بحيث سيُضاف للملف "bashrc." المسار "rvm/bin." ضمن متغير البيئة PATH وذلك لنتمكن من تنفيذ الأمر rvm عبر سطر الأوامر بسهولة، ولتفعيل تلك التعديلات يجب تنفيذ الأمر التالي أولًا: $ source ~/.rvm/scripts/rvm والآن يمكننا تنفيذ الأمر rvm لتثبيت آخر نسخة من روبي على النحو التالي: $ rvm install ruby --default لتُنزّل وتُثبت بذلك روبي ومكوناتها وتُعيّن تلك النسخة على أنها نسخة افتراضية ضمن النظام لاستخدامها لتجنب التعارض مع أي نسخة أخرى قد تكون مُثبتة مسبقًا على جهازك. قد تستغرق هذه العملية بعض الوقت، وفي حال واجهت مشاكل تأكد من تثبيت Homebrew على جهازك بتنفيذ الأمر التالي: $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" سيُثبت الأمر أي متطلبات ناقصة لديك وقد يسألك أيضًا عن كلمة المرور لحسابك، وسيظهر عن تنفيذ أمر تثبيت روبي خرجًا مشابهًا للتالي: Searching for binary rubies, this might take some time. Found remote file https://rvm_io.global.ssl.fastly.net/binaries/ubuntu/16.04/x86_64/ruby-2.4.0.tar.bz2 Checking requirements for ubuntu. Installing requirements for ubuntu. Updating system.... Installing required packages: gawk, libssl-dev, zlib1g-dev, libyaml-dev, libsqlite3-dev, sqlite3, autoconf, libgmp-dev, libgdbm-dev, libncurses5-dev, automake, libtool, bison, libffi-dev, libgmp-dev, libreadline6-dev.................. Requirements installation successful. وبعد الانتهاء من تثبيت المتطلبات سيبدأ RVM عملية تثبيت روبي ويظهر خرجًا مشابهًا للتالي: ruby-2.4.0 - #configure ruby-2.4.0 - #download % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 16.4M 100 16.4M 0 0 4828k 0 0:00:03 0:00:03 --:--:-- 4829k ruby-2.4.0 - #validate archive ruby-2.4.0 - #extract ruby-2.4.0 - #validate binary ruby-2.4.0 - #setup ruby-2.4.0 - #gemset created /home/brian/.rvm/gems/ruby-2.4.0@global ruby-2.4.0 - #importing gemset /home/brian/.rvm/gemsets/global.gems.............................. ruby-2.4.0 - #generating global wrappers........ ruby-2.4.0 - #gemset created /home/brian/.rvm/gems/ruby-2.4.0 ruby-2.4.0 - #importing gemsetfile /home/brian/.rvm/gemsets/default.gems evaluated to empty gem list ruby-2.4.0 - #generating default wrappers........ بذلك تكون قد ثُبتت آخر نسخة من روبي لديك مع بعض الأدوات الأخرى، مثل irb وهي طرفية روبي تفاعلية سنتعرف عليها في مقال لاحق من هذه السلسلة، والبرنامج rake لأتمتة تنفيذ النصوص البرمجية، والبرنامج gem، الذي سنستخدمه لتثبيت وتحديث مكتبات روبي بكل سهولة ضمن المشاريع. للتأكد من رقم النسخة المُثبتة من روبي، ننفذ الأمر التالي: $ ruby -v سيظهر رقم نسخة روبي المثبتة لديك بخرج يشبه ما يلي: ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux] قبل تجربة روبي، يجب التأكد أن الطرفية عند فتحها تُنفذ صدفة تسجيل دخول، إذ أن RVM عدل الملف bash_profile. لتمكين استخدام نسخة روبي الذي ثبتها وذلك فقط ضمن صدفة تسجيل الدخول. سنختبر في الفقرة التالية روبي ببرنامج بسيط جدًا. كتابة برنامج بسيط كما هو معتاد عند تجربة لغة برمجة جديدة فأول برنامج نكتبه مهمته طباعة النص "Hello, World" لنتأكد بذلك من صحة تثبيت كل شيء وإمكانية تنفيذ البرامج بتلك اللغة، لذا نبدأ بإنشاء ملف جديد بالاسم hello.rb باستخدام محرر نانو nano: $ nano hello.rb ونكتب التعليمة التالية ضمن الملف: puts "Hello, World!" ثم نخرج من المحرر بالضغط على "Ctrl+X" ثم نضغط على المفتاح "Y" لتأكيد حفظ الملف، ثم ننفذ ملف البرنامج على النحو التالي: $ ruby hello.rb ليظهر لنا الخرج المطلوب ضمن الطرفية: Hello, World! بذلك تأكدنا أن بيئة برمجة روبي تعمل بنجاح ويمكننا استخدامها لتطوير البرامج والمشاريع باستخدام هذه اللغة. الخاتمة بعد أن تعرفنا على طريقة تجهيز بيئة للبرمجة بلغة روبي، سنتعرف في المقالات التالية أكثر على تلك اللغة عبر تجربة كتابة أول برنامج بلغة روبي، إذ أن أفضل طريقة لتعلم أي لغة برمجية هي بكتابة البرامج عمليًا وتنفيذها. ترجمة -وبتصرف- للمقال How To Install Ruby and Set Up a Local Programming Environment on Ubuntu 22.04 لصاحبته Milecia McGregor. اقرأ أيضًا كيف تثبّت Ruby على ويندوز 10 الدليل السريع إلى لغة البرمجة روبي Ruby توثيق لغة روبي
-
مقدّمةChef هو عبارة عن أداة مفتوحة المصدر مكتوبة بلغة Ruby، يُستخدم كإطار عمل يسمح لك بأتمتة مهام إدارة خواديم الوب الخاصة بك، كما يسمح لك بنشر خواديم افتراضية خاصة (VPS) مُعدّة مسبقًا دون الحاجة إلى تذكّر كيفية ضبطها بالضبط. هذا الأمر مهم للغاية وتزداد أهميته تدريجيًا خاصةً أنه من الشائع امتلاك خواديم خاصة للاختبار، التطوير وإدارة قواعد البيانات بالإضافة لخواديم بيئة العمل الإنتاجية. كل واحدٍ منها له موارده وإعداداته الخاصة. إنّ عملية تثبيت وإعداد وتحديث وصيانة خادوم افتراضي خاص (VPS) منفرد تُعتبر عملية مُستهلكة جدًا للوقت. Chef يسمح لك أن تقوم بسهولة بأتمتة هذه المهام وتعديلها بحيث تناسب كل خادومٍ على حدى أوتوماتيكيًا. باختصار، Chef يسمح لك أن توفر الوقت والمال عن طريق توفير نظام يسهُل إعادة استخدامه لاحقًا. مطوروا Chef قاموا بتوفير سكربت (Script) سهل الاستخدام لتثبيته على توزيعة Ubuntu، ولكن المشكلة هي أن السكربت الذي قاموا بصناعته ليس قابلًا للاستخدام جيدًا مع إطار عمل Ruby on Rails، هذا الدليل سيرشدك إلى طريقة تثبيت بيئة Ruby حقيقية كاملة. ربما تتوقع أن نقوم بتثبيت Ruby عن طريق هذا الأمر: sudo apt-get install rubyولكن هذه الطريقة ليست مُستحسنة في الواقع، لأنه حتّى وإن كنتَ لا تستخدم أكثر من إصدار Ruby على نفس الخادوم الافتراضي الخاص (VPS)، فستواجه مشاكل بالتعامل مع تعارض أحجار روبي (Ruby gems) أو بعض المشاكل بالتعامل مع المشاريع التي تتطلب إصدارًا معينًا من حجر روبي (gem). مدير إصدارات روبي (RVM) يستطيع أن يحلّ هذه المشاكل بسهولة. ملاحظة: يمكنك استخدام rbenv عوضًا عن RVM أيضًا. اُختيرَ RVM لهذا الدليل لأنهما يتساويان بكل الأشياء التي نحتاجها حاليًا، من الأفضل أن تمتلك قوة إضافية ولا تحتاجها بدلًا من أنّ تكتشف أنك بحاجتها ولكن لا تستطيع الحصول عليها. الخطوة الأولى - كيفية تثبيت روبي مع مدير إصدارات روبي (RVM)يعتمد RVM على ثلاث أمور: Bash, Curl و Git. صدفة Bash مثبّتة افتراضيًا على توزيعة أوبونتو، لذا فإنه يتوجب عليك تثبيت كلٍ من Git و Curl فقط حاليًا عن طريق تطبيق الأمر التالي في الطرفية (Terminal): sudo apt-get install git-core curl الآن يمكنك تثبيت مدير إصدارات روبي (RVM) عن طريق الأمر: sudo \curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3ستستغرق هذه العملية حوالي 5 إلى 10 دقائق تقريبًا (اعتمادًا على سرعة اتصالك بالوب بالإضافة إلى الوقت المُستَغرَق ريثما يتم بناء الشفرة المصدرية لروبي). ملاحظة: Chef يتعارض مع روبي 1.9، ولهذا فإننا نقوم بتثبيت روبي 1.9.3. يجب أن ترى الرسالة التالية عندما تكتمل العملية: * To start using RVM you need to run `source /usr/local/rvm/scripts/rvm` in all your open shell windows, in rare cases you need to reopen all shell windows. افعل ما يطلبه منك، فقط طبّق الأمر: source /usr/local/rvm/scripts/rvmالآن، تأكد من أن روبي تم تثبيتها بشكلٍ صحيح عن طريق الأمر: ruby -vإذا كانت توزيعتك من معمارية 32 بت فيجب أن ترى: ruby 1.9.3p448 (2013-06-27 revision 41675) [i686-linux]إمّا إذا كانت من معمارية 64 بت، فيجب أن ترى شيئًا مثل: ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]الآن، تأكد من أنّ أحجار روبي (Ruby gems) مثبّتة بشكل صحيح عن طريق الأمر: gem -vيجب أن يتم عرض رقم الإصدار المثبّت مثل: 1.8.25إذا لم تكن مطور روبي أو إطار عمل Rails، فحينها قد ترغب بجعل الإصدار 1.9.3 من روبي هو الافتراضي حاليًا عن طريق الأمر: rvm use 1.9.3 --defaultملاحظة: هذا الأمر سيقوم بتجاهل أي إصدار مثبّت من قبل من روبي. الخطوة الثانية - كيفية تثبيت Chefتثبيت Chef الآن أصبح بالإمكان تنفيذه بسهولة وسرعة عن طريق الأمر: gem install chef --no-ri --no-rdoc وللتأكد من أنّ Chef مثبّت بالفعل طبّق: chef-solo -vوهو ما سيقوم بطباعة رقم الإصدار الحالي من Chef: Chef: 11.4.4 سنقوم أيضًا بتثبيت بعض الإضافات المفيدة ألا وهي: Knife-Solo, Berkshelf و Foodcritic. Knife-Solo هي مُلحق (plug-in) لأداة Knife الخاصة بـChef تجعل عملية إعداد الخواديم المفردة ممكنة باستخدام chef-solo. حيث أنّها تجعل عملية نشر الخواديم الصغيرة سهلة لأنها توفر عليك عناء تشغيل عميل Chef (يدعى chef-client) والذي بدوره يتطلب خادوم chef (يدعى chef-server). لتثبيته، طبّق الأمر التالي: gem install knife-solo --no-ri --no-rdoc Berkshelf هو مُلحَق يساعدك على كتابة وتحزيم كتب الطبخ (cookbooks وهي ملفات الإعداد الخاصة بإعدادات الخواديم) أو تحميلها باستخدام ملفاتٍ محلية أو مستودع Git أو خادوم Chef. عليكَ أولًا تثبيت بعض الاعتماديات التي يحتاجها Berkshelf ليتمكن من العمل: sudo apt-get install libxslt-dev libxml2-dev الآن لتثبيت Berkshelf، طبّق الأمر: gem install berkshelf --no-ri --no-rdoc وللتأكد من أنّ عملية التثبيت تمت بشكل صحيح، طبّق الأمر: berks -v وهو ما يجب أن يعطيك رقم الإصدار المثبّت مثل: Berkshelf (2.0.7) مُلحق Foodcritic يساعدك عن الكشف عن المشكلات في كتب الطهي الخاصة بـChef (تُدعى Chef Cookbooks). لتثبيته، طبّق الأمر: gem install foodcritic --no-ri --no-rdoc وكالمعتاد، للتأكد من عملية التثبيت: foodcritic -V ستحصل على: foodcritic 2.2.0ملاحظة: في حال كنتَ تتساءل، الخيارات --no-ri –no-rdoc هي ليتم تجنّب إنشاء الوثائق الخاصة بالمُلحقات. الخطوة التاليةهذا الدّرس شرحَ لك كيفية تثبيت Chef على بيئة روبي حقيقية لتكون مناسبة لعملية تطوير البرمجيات. كل شيء تقريبًا أصبحَ جاهزًا للبدء بعملية الأتمتة عن طريق إنشاء وصفاتِكَ الخاصة (recipes) أو باستخدام وصفاتٍ من طرفٍ ثالث (3rd party). ترجمة -وبتصرّف- للمقال: How To Install Chef and Ruby with RVM on a Ubuntu VPS