Когда разные версии гемов устанавливаются с помощью компоновщика или напрямую с помощью rubygems, также устанавливаются исполняемые скрипты (такие как rails, rake и, как ни странно, bundle ). Запуск правильных версий этих сценариев при работе с разными пакетами был бы невозможен, поэтому решение, которое разработал упаковщик, состоит в том, чтобы префиксировать ваши команды bundle exec
, что приведет к их запуску в контексте вашего комплекта и запуску правильной версии. из вашего Gemfile:
bundle exec rails s
Другой вариант - указать, что bundler устанавливает эти сценарии в каталог, чтобы вы могли вызывать их оттуда:
bundle install --binstubs # same as: bundle install --binstubs=./bin
Я думаю bundle exec
, что более безопасным вариантом является использование, которое вы можете сократить, используя псевдоним оболочки, поскольку он может раздражать при наборе текста каждый раз.