Jak Rails wybiera domyślny serwer jeśli komenda to tylko `rails server`?


#1

Odkryłem coś dziwnego. Jeśli w Gemfile mam gem puma i dodatkowo unicorn, który jest w grupie production i nie jest zainstalowany, to komenda rails server bez podania nazwy serwera chce chyba uruchomić unicorn, co kończy się tak:

app_1  | bundler: failed to load command: rails (/usr/local/bundle/bin/rails)
app_1  | Bundler::GemNotFound: Could not find gem 'unicorn' in any of the gem sources listed in your Gemfile.

Usunięcie wpisu unicorn z Gemfile załatwia problem. Podobnie jak użycie komendy rails server puma.

Czyżby mechanizm był tak prymitywny, że nie sprawdza nawet czy gem jest zainstalowany?


#2

Za połączenie z serwerem aplikacji odpowiedzialny jest rack.

Bez informacji jakiej wersji gemów używasz, niewiele będzie można pomóc