From: Rick DeNatale Date: 2010-02-11T05:42:36+09:00 Subject: Re: Problems with RubyGems on a Debian machine On Wed, Feb 10, 2010 at 11:59 AM, Thomas Lucero wrote: > Known problem. Both Debian apt/aptitude/Synaptic and RubyGems keep track > of dependencies. However, they don't play well together. > > From http://blog.phusion.nl Installing Ruby/Rails software on Debian and > Ubuntu Linux distributions has been less than ideal until now. Ruby has > a package manager called RubyGems, but Debian-based distributions have > their own package manager, namely Apt, which manages the entire system > and is preferred by most Debian users. RubyGems does not integrate well > with Apt and cannot handle native Debian package dependencies. But on > the other hand, Ruby software provided through the current Debian Apt > repositories are not always up-to-date, e.g. the latest Rails version is > often not available. Yep. IMHO the requirements of the usual LAMP user of a Debian or other packaged Linux distro are not the same as the typical rails developer. The former usually wants a fairly stable platform, the latter wants to keep up with the rapidly changing universe of Ruby, Rails, gems, ... Ruby developers are used to, and a lot expect, the ability to quickly upgrade, and even deal with multiple versions on the same box for different applications. Having multiple versions of ruby gems installed has long been a feature of gems. Rails developers use techniques like unpacking gems and rails itself into a vendor directory of the app to allow different apps with different requirements as to versions and sets of gems to run on the same box. And today the state of the art is tools like RVM which allow multiple versions and implementations of Ruby to coexist and be selectable. You can have various versions of MRI (1.8.6, 1.8.7, 1.9.1) along with Rubinius, JRuby, MagLev, (and on a Mac MacRuby). The Debian packaging system is really built around having one version of a given package installed at a time. The maintainers of ruby packages for debian, occasionally take new versions and repackage them. Waiting for that process is unacceptable for a lot of Ruby developers. Also the repackaging sometimes takes some interesting twists, at one point rails got repackaged, and the rails binary was re-written as a bash shell script! I don't know if that's still the case because... Early on in my use of Ruby, I was advised to just say no to the packaged versions and build from source, On a Debian system just make sure to install it somewhere which the packaging system doesn't muck with, like /user/local/... And I pretty much do the same thing now that most of my development is on OS X. -- Rick DeNatale Blog: http://talklikeaduck.denhaven2.com/ Twitter: http://twitter.com/RickDeNatale WWR: http://www.workingwithrails.com/person/9021-rick-denatale LinkedIn: http://www.linkedin.com/in/rickdenatale