Rails goes out of its way to avoid forcing an installation of bcrypt because it is a binary library. See https://github.com/rails/rails/blob/v4.2.3/Gemfile#L21
Nokogiri forces installation of 2 binary libraries (libxml2 and libxslt), so one would expect it not to be a dependency of any of the core components of Rails.
However, starting with actionview 4.2.0, nokogiri is now a dependency.
That means every time actionview appears in a Gemfile.lock, so does nokogiri. I would often include ActionView 4.1 in non-Rails projects just to use number_to_currency, but now with the nokogiri dependency, the overhead is hardly worth it.
Consider the fact that I’m deploying about 5 such projects to the same server, all using separate BUNDLE_PATH’s. That means 5 installations of nokogiri, none of which are being used. This adds time to every
capistrano bundler:install and a significant amount of disk space is wasted on this. For any other gem, this wouldn’t make much of a difference, but nokogiri is really big and takes a long time to install, and Rails has already set a precedent by not including the (much lighter) bcrypt.
Is the rails-core team open to the following solutions: