אלה לא מוכר עם פיתוח תוכנה עשוי להיות מופתע כמה אזורים אפורים כביכול יכול להיות שם. גם אם אתה יודע שאתה רוצה לכתוב, למשל, App Rails, יש לך כמה החלטות ספציפיות יותר לעשות. באיזה מסד נתונים יש להשתמש? איזו גירסה של רובי? אילו אבני חן צריך להיות מותקן? האם זה יהיה סכסוך עם כל גרסאות אחרות של רובי או אבני חן? RVM, מנהל גרסה רובי, יכול לטפל בזה. RVM מאפשר לך להתקין, לנהל ולעבור בין גרסאות Ruby על לטוס, כך שתוכל לפתח ולבדוק תוכנה בגרסאות רובי מרובים ללא טרחה. מדריך זה יראה לך כיצד להתקין RVM על אובונטו ולהשתמש בו כדי לנהל את הסביבה רובי שלך.

הערה : זה לא "כיצד קוד רובי" המאמר, היא עוסקת רק באמצעות RVM לנהל את התקנות רובי שלך.

איך זה עובד

הגדרת RVM הנפוצה ביותר הולך משהו כזה - משתמש מתקין RVM כיישום, או מערכת רחב או בתוך הבית שלהם. באמצעות RVM, גרסאות הרובי שנבחרו על ידי המשתמש מותקנות אוטומטית בביתו של המשתמש. באמצעות פקודות RVM, המשתמש מציין איזו גירסה הם רוצים להיות פעילים בכל זמן נתון. כל השיחות שבוצעו לרובי במהלך אותה תקופה מנותבות להפעלה המתאימה של רובי ומופעלות כרגיל. אין וירטואליזציה או עטיפות מורכבות או chroots לדאוג, הוא פועל יותר או פחות כמו סדרה חכמה של symlinks ומשתני סביבה המכוונים את כל שיחות רובי לגרסה שנבחרה.

הַתקָנָה

ראשית אנחנו צריכים כמה תנאים מוקדמים. ההתקנה הרגילה של אובונטו צריכה להכיל הרבה ממה שנדרש, אך ייתכן שחלק מהחבילות הדרושות יהיו חסרות. כדי לבנות RVM כראוי, התקן את החבילות הבאות מתוך מרכז התוכנה של אובונטו או משורת הפקודה עם:

 sudo apt-get bit-bb-libonl librel libreadl6 libradline6-dev curl git-core zlib1g zlib1g-dev lib libl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev 

זה מוכן המערכת שלנו כראוי לבנות ולהתקין RVM ורובי. אנחנו לא צריכים לעשות את התצורה הרגילה / לעשות שגרת על זה כמו RVM למעשה כולל תסריט לבנות פשוט אשר צריך לעשות את העבודה בשבילך. לאחר התקנת כל התלות לעיל, הפעל את השורות הבאות משורת הפקודה:

 bash <<(סלסול http://rvm.beginrescueend.com/releases/rvm-install-head) 

זה יהיה לאחזר את המקור ולספק הודעה נחמדה מן היזם של RVM.

הוספת גרסה רובי

בשלב זה יש לך RVM אבל לא רובי שמיש להתקין כדי לרוץ עם זה. קבלת RVM להתקין אחד הוא פשוט כמו פקודה פגז יחיד. עבור הדוגמה הראשונה, אנו נתקין את גרסה 1.8.7 יציבה ממקור עם פקודה אחת RVM:

 להתקין 

RVM יטפל בכל התהליך כולל תצורה, קומפילציה והתקנה של RubyGems.

לאחר ההתקנה

לאחר השלמת, יש קצת ההתקנה הסביבה אנחנו צריכים לעשות. כדי ש- RVM יוכל ליירט את שיחות Ruby, עלינו להוסיף את השורה הבאה ל- .bashrc או .bash_profile :

 [[-s "$ HOME / .rvm / scripts / rvm"]] &&. "$ HOME / .rvm / scripts / rvm" 

הפעל מחדש את הקליפה שלך וזה צריך להיות בתוקף. כדי לבדוק, פשוט הזן

 סוג rvm ראראש 

מה צריך להגיב עם "rvm היא פונקציה" . אם לא, משהו נשבר לאורך הקו.

ניהול גרסאות

עכשיו שהכל מוגדר, אנחנו יכולים למעשה להשתמש RVM! בהנחה שהתקנת גרסה 1.8.7 כמו בדוגמה לעיל, זה יכול להיות נבחר עם

 rvm להשתמש 1.8.7 

RVM צריך לתת לך תגובה המאשרת את בחירתך ולהראות לך את המיקום של הפעלה רובי. זה יכול להיות מאוחר יותר באמצעות מערכת רגילה אשר הפקודה.

גירסאות נוספות ניתן להתקין באותה דרך, אבני חן ניתן להוסיף והוסרו מ RVM גירסאות בדיוק כפי שהם היו במערכת רגילה רובי להתקין. תוכל לבחור את הגרסה שלך במהירות מעמיקה כדי להיות בטוח שהאפליקציה שלך פועלת כמתוכננת מבלי לדאוג כלל לגבי קונפליקטים ואי התאמות בסביבה. תהנה!