Ви працюєте bundle exec
на програмі. Творці програми написали це, коли були доступні певні версії дорогоцінних каменів. Програма Gemfile визначає версії дорогоцінних каменів, які творці вирішили використовувати. Тобто сценарій був створений, щоб правильно працювати проти цих версій дорогоцінних каменів.
Ваш Gemfile у всій системі може відрізнятися від цього Gemfile. У вас можуть бути новіші або старі дорогоцінні камені, з якими цей сценарій не грає добре. Ця різниця у версіях може дати вам дивні помилки.
bundle exec
допомагає уникнути цих помилок. Він виконує сценарій, використовуючи дорогоцінні камені, вказані в Gemfile сценарію, а не загальносистемний Gemfile. Він виконує певні версії дорогоцінних каменів з магією псевдонімів оболонки.
Більше див на сторінці man .
Ось приклад Gemfile:
source 'http://rubygems.org'
gem 'rails', '2.8.3'
Тут bundle exec
виконується сценарій, використовуючи рейки версії 2.8.3, а не якусь іншу версію, яку ви, можливо, встановили на всій системі.