I am puzzled as to what the recommended way to install packages (from
the point of view of Ruby developers) should be: RubyGems or
distribution-specific (Linux)packages for each (Ruby)package?
I am asking because Ubuntu "deliberately" does not include RubyGems as a
(Linux) package, arguing that (Ruby) packages should always be installed
using the (Linux) packaging system (apt-get etc) instead of RubyGems.
They argue that using RubyGems would inevitably break things.
Is it known what the opinion of Ruby developers and expert Ruby users is
on this?
In terms of what the ubuntu people (and likely other dists) are saying, is that it is hard to cleanly integrate rubygems into the debian system, when it comes to, say, the user installing debian packages that might depend on some rubygems.
e.g. assume you might want to install a rails app, that comes as a stock ubuntu package - if you install your ubuntu from dvd to a machine that does not (currently) have a network connection, ubuntu can't access your rubygem (while, presumably, if it was another ubuntu package, you'd have it on the same dvd you're installing ubuntu from).
Worse yet, even if you managed to install the package, there is nothing stopping you from de-installing a rubygem, without apt-get or dpkg (the debian package managers) even knowing about it, i.e. you'd break an installed ubuntu package, without the ubuntu package manager having any idea what might have happened.
I'm happy with just having my own local gem repository; YMMV...
Benedikt
ALLIANCE, n. In international politics, the union of two thieves who
have their hands so deeply inserted in each other's pockets that
they cannot separately plunder a third.
(Ambrose Bierce, The Devil's Dictionary)
···
On Mon, 24 Jul 2006, Roman Hausner wrote:
I am puzzled as to what the recommended way to install packages (from
the point of view of Ruby developers) should be: RubyGems or
distribution-specific (Linux)packages for each (Ruby)package?
I am asking because Ubuntu "deliberately" does not include RubyGems as a
(Linux) package, arguing that (Ruby) packages should always be installed
using the (Linux) packaging system (apt-get etc) instead of RubyGems.
They argue that using RubyGems would inevitably break things.
Is it known what the opinion of Ruby developers and expert Ruby users is
on this?
I've had good success making a .deb package of rubygems using the
checkinstall application, then installing gems of applications that
come packaged in gem format. That way, everything is packaged on my
system, including rubygems.
Being a Debian/Ubuntu user, I would really prefer for everything to be
packaged with the same packaging system (apt/dpkg). However, since
that's aprently not very feasible, I have to be happy having
everything packaged under 2 systems.
The thought of just doing a 'make install' or 'ruby setup.rb' is far
less prefereable to me than doing an apt-get install or gem install.
To each their own, I suppose, but I like my installed software under
some form of sane package management.
> I am puzzled as to what the recommended way to install packages (from
> the point of view of Ruby developers) should be: RubyGems or
> distribution-specific (Linux)packages for each (Ruby)package?
>
> I am asking because Ubuntu "deliberately" does not include RubyGems as a
> (Linux) package, arguing that (Ruby) packages should always be installed
> using the (Linux) packaging system (apt-get etc) instead of RubyGems.
> They argue that using RubyGems would inevitably break things.
>
> Is it known what the opinion of Ruby developers and expert Ruby users is
> on this?
I'm using rubygems on ubuntu, which works fine.
In terms of what the ubuntu people (and likely other dists) are saying, is
that it is hard to cleanly integrate rubygems into the debian system, when
it comes to, say, the user installing debian packages that might depend on
some rubygems.
e.g. assume you might want to install a rails app, that comes as a stock
ubuntu package - if you install your ubuntu from dvd to a machine that
does not (currently) have a network connection, ubuntu can't access your
rubygem (while, presumably, if it was another ubuntu package, you'd have
it on the same dvd you're installing ubuntu from).
Worse yet, even if you managed to install the package, there is nothing
stopping you from de-installing a rubygem, without apt-get or dpkg (the
debian package managers) even knowing about it, i.e. you'd break an
installed ubuntu package, without the ubuntu package manager having any
idea what might have happened.
I'm happy with just having my own local gem repository; YMMV...
You're misrepresenting Debian and Ubuntu's reason. Debian and Ubuntu
both support CPAN, which is similar.
The arguments I've heard against rubygems is that it requires source
code changes to the programs using iti (require 'rubygems', and
require_gem), unlike perl which does not. I didn't follow the
discussions long enough to why this is terribly important.
OTOH, rubygems is now packaged in Debian experimental, so look for it
to make it into Debian unstable and Ubuntu soonish.
I am puzzled as to what the recommended way to install packages (from
the point of view of Ruby developers) should be: RubyGems or
distribution-specific (Linux)packages for each (Ruby)package?
I am asking because Ubuntu "deliberately" does not include RubyGems as a
(Linux) package, arguing that (Ruby) packages should always be installed
using the (Linux) packaging system (apt-get etc) instead of RubyGems.
They argue that using RubyGems would inevitably break things.
Is it known what the opinion of Ruby developers and expert Ruby users is
on this?
I'm using rubygems on ubuntu, which works fine.
In terms of what the ubuntu people (and likely other dists) are saying, is
that it is hard to cleanly integrate rubygems into the debian system, when
it comes to, say, the user installing debian packages that might depend on
some rubygems.
e.g. assume you might want to install a rails app, that comes as a stock
ubuntu package - if you install your ubuntu from dvd to a machine that
does not (currently) have a network connection, ubuntu can't access your
rubygem (while, presumably, if it was another ubuntu package, you'd have
it on the same dvd you're installing ubuntu from).
Worse yet, even if you managed to install the package, there is nothing
stopping you from de-installing a rubygem, without apt-get or dpkg (the
debian package managers) even knowing about it, i.e. you'd break an
installed ubuntu package, without the ubuntu package manager having any
idea what might have happened.
I'm happy with just having my own local gem repository; YMMV...
--
Ken Bloom. PhD candidate. Linguistic Cognition Laboratory.
Department of Computer Science. Illinois Institute of Technology. http://www.iit.edu/~kbloom1/