bundle exec היא פקודת Bundler לביצוע סקריפט בהקשר של החבילה הנוכחית (זה מה- Gemfile של הספרייה שלך). rake db:migrate הוא הסקריפט שבו db הוא מרחב השמות וה- migrate הוא שם המשימה שהוגדר.
האם יש צורך ב-Bundle exec?
מנהל חבילה ו-Bundler פועל. require באותו הזמן הוא לא בעיה, אז זה בטוח להשתמש ב-bundle exec גם כשאין צורך כל עוד יש Gemfile בספרייה הזו, הוא לא יפעיל אבני חן פעמיים.
מה עושה מסילות ה-Bundle exec?
bundle exec מבצע מספר שינויים בסביבת המעטפת, ולאחר מכן מבצע את הפקודה שציינת במלואה. זה גם משנה את רוביג'ם: לא לאפשר טעינת אבני חן נוספות שאינן בצרור. שנה את שיטת החן כדי להיות ללא הפעלה אם אבן חן שתואמת את הדרישות נמצאת בחבילה, וכדי להעלות Gem::LoadError אם היא לא.
איך אני מפסיק את ניהול החבילות?
בדרך כלל תקיש Ctrl-C כדי לעצור את webrick כאשר הוא מופעל ללא אפשרות -d.
למה אני צריך להקליד bundle exec?
מנהל החבילות של Bundler דורש קובץ ההתקנה של Bundler המאפשר ל-Bundler לבצע את כל הפריצות לאיתור הקבצים שלו למקרה שתזדקק למשהו אחר כך. אבל אתה עשוי לגלות במקרים מסוימים שאם משתני הסביבה שלך כבר מוגדרים בדיוק כמו שצריך, ייתכן שהדרישות פשוט יעבדו ללא עזרתו של בנדלר.