Hacker News new | ask | show | jobs
by gary4gar 4574 days ago
Ruby Devs, Take note, Fedora 20 has ruby 2 & rails 4 available. to get started with rails, all you need to do is:

   yum install rubygem-rails
and Bam, it will install latest ruby, rails & other dependencies. That's not all, they have more than 2thousand ruby related packages(all recent versions).

Fedora seems to have one of best ruby support. Way to go!

https://apps.fedoraproject.org/packages/s/ruby

1 comments

How does one decide whether to install from a package repository, or directly via gems?

What's the typical time lag before a package get updated after a gem does?

I avoid package gems like the plague. It makes dependency management a gigantic pain in the ass and forces you to target your code to a specific version of an operating system. You can't take a system that works just fine in Fedora and move it to Debian without making sure the gem version differences don't break anything.

In today's cloud-based hosting environment, you want to preserve mobility whenever possible, and Bundler does a better job of managing Ruby dependencies than dpkg/yum does. You can then use configuration management to get a system bootstrapped to a base where all your Ruby projects can run, then Bundler can take care of project-specific dependencies. It's not perfect, a lot of times a project gem will require system dependencies, like MySQL, but the separation of concerns does help a bit.

You should, however, use system Ruby because using RVM / Rbenv in production vastly increases complexity, and because the system dependencies that your gems have will be the right versions. It's much easier now that the latest Ubuntu packages Ruby 2. It took me all of an afternoon to redo the configuration management and provisioning and migrate my projects when Ubuntu 13.10 came out.

Package repository may bump versions without warning, and lags behind gems. There is no typical lag time, it's updated whenever the packager feels like it. You can file bugs at redhat bugzilla to try and motivate them to update packages sooner, if you want something specific.

On the plus side, you get security updates, and any gems that are packaged should be compatible with each other to some extent. In general, I think ruby packages are good for end-users, but maybe not great for developing ruby applications or other gems.

(I don't mean to rag on Fedora packaging here — I'm a Fedora packager! I just want people to be aware of the limitations of distro packaging.)