The application itself will work without installing a passenger (unicorn, webrick, mongrel, thin, etc.), so the passenger should not really be in the Gemfile. In this case, the right choice as a gem would be the right choice.
Look at the Gemfile as a list of gems that your application uses. The passenger uses your application to transfer data to the user, not the application you use. In the future, you can use a different application server, and you will not need to modify any part of your application, even the Gemfile, to make this change.
However, if your application actually uses the internal features of a passenger or part of a passenger stone, you must enable it. For example, if you used a class declared in the passenger, then you will depend on it and must include it in your Gemfile.
source share