Обычно это то, что вы получаете, когда запускаете свое приложение (например, rails server ) без префикса команды с bundle exec .
Когда вы запускаете bundle install --deployment , bundler взял ваши драгоценные камни из . / vendor / cache и поместил их в . / vendor / bundle .С тех пор Bundler знает, где их найти, но вы должны запускать приложение через Bundler.
Rubygems, однако, не знает, где находятся эти драгоценные камни, поэтому они не отображаются при запускекоманда rubygems список драгоценных камней .Когда вы установили Rack 1.3.6 с использованием rubygems, естественно, rubygems нашли его, и ваше приложение начало работать.
Если не использовать bundler для запуска приложения, rubygems позволяет удовлетворить требования вашего приложения в соответствии с его собственным методом, и этодовольно случайно - я был бы весьма удивлен, если бы ваше приложение в настоящее время работало с теми же версиями гемов, на которых вы выполняли свои тесты, например (Eek!)
Я обычно использую подход, чтобы удалить все драгоценных камней с сервера, установите одну версию rubygems и bundler, а затем полагайтесь исключительно на Bundler для поддержки драгоценных камней моего приложения.Прелесть пакета в том, что он вычисляет действительный набор драгоценных камней и надежно его использует.
Надеюсь, это поможет!