Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Dec 2012 08:37:43 +0200
From:      Andrei Maxim <andrei@andreimaxim.ro>
To:        freebsd-ruby@freebsd.org
Subject:   Re: More problems than I care to think about
Message-ID:  <ka1bjl$qu8$1@ger.gmane.org>
References:  <76BB3E3F07A4F68477B30C11@utd71538.campus.ad.utdallas.edu> <138C62E5-F2ED-439F-AFA8-777A48B2A87B@freebsd.org> <C344B4A6795FF630D180D431@utd71538.campus.ad.utdallas.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2012-11-19 20:28:56 +0000, Paul Schmehl said:

> --On November 15, 2012 3:59:36 PM -0800 Stanislav Sedov <stas@freebsd.org>
> wrote:

> There isn't anything wrong (that I'm aware of) with the ruby ports, but
> ruby-gems are a disaster.  They're not up to date, and as you point out
> even fixing that wouldn't fix everything that's wrong with them.
> 
> After completely giving up on the port I downloaded the app, downloaded
> gems and installed it, ran gem install rails, then went to the directory
> where I put the program and ran bundle install.  This (supposedly)
> downloaded everything I needed to run the app.
> 
> The next step was to create the database by running 'bundle exec rake
> snorby:setup'.  Rake wasn't installed, so I had to install that.  Running
> it again gave me an error that libmyslqclient.so.15 was not found.  That's
> because I'm running 5.5, not 5.0.
> 
> After fixing that, I got another error and that's when I said screw this -
> i've got better things to do with my time than beat a damn app into
> submission while taking 15 years off my life.
> 
> Gems sucks.  Rails sucks.  The whole idea is stupid and sucks.
> 
> Someone else will have to do it.  I'm done with gems, rails and snorby.

There is sort of a different approach from the Ruby development 
community which doesn't really work for most sysadmins (I've had my 
fair share of arguments in the past).

The problem is that most sysadmins think of gems as stand-alone 
applications that should be installed system-wide, more or less. This 
is quite false, because gems should simply be considered libraries that 
an application uses. With, bundler, for example, if you pass the 
`--deployment` flag, the gems will be installed in path relative to the 
root of the application and will not be available system-wide.

During the last year and a half, all the servers I've set up for Ruby 
applications had just Ruby 1.9.3 and the latest version of bundler with 
all the gems installed via `bundle install` . I've always considered 
that the developers should own the responsibility of matching gems with 
system services, like MySQL or Postgres. But then again, I'm a 
developer, so I might be a bit biased.

Frankly, I fail to see the advantage of gem ports. In Linux-land, 
offering gems as RPM or DEB files did have some advantages because you 
did not have to install a compiler in order to use gems with C 
bindings, but you did have to wait until the maintainer would add a new 
release. Installing gems and ports you seem to get only the worst part, 
with no advantage and, at the same time, it's becoming more and more 
difficult to maintain (look at the portscout mails and most outdated 
gems work properly on 1.9.x and were not so thoroughly tested on 1.8.x)

Max





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ka1bjl$qu8$1>