У Каспера есть довольно хороший ответ (несмотря на некоторую пассивную агрессивность), но я думаю, что недостающий кусок для вас - bundle exec
. Когда вы запускаете команды $ rails ...
в командной строке, Rails использует компоновщик для загрузки этих зависимостей / гемов. Например, Rake по умолчанию этого не делает, поэтому для запуска rake test
с использованием более старой версии огурца, чем та, что установлена в вашей системе, вы должны использовать bundle exec rake test
. Хорошая привычка - использовать всегда , используя $ bundle exec ...
, когда вы используете Bundler - это явно, вы всегда уверены, что используете правильные драгоценные камни, и это гарантирует, что вы не забудете добавьте зависимость в ваш Gemfile (то есть вы отправляете на другой сервер или другого разработчика, и у них возникают проблемы, потому что вы не заметили необходимость того, что вы используете, но они этого не делают).