Ruby és RubyGems telepítése forrásból Debian rendszerre

Bizony megeshet, hogy a Debian 5.0 által kínált Ruby és RubyGems verziók elavultnak bizonyulnak egyes gem-ekhez. Ilyen többek között a Rails 3.0 is. A következőkben bemutatjuk, miként telepíthetünk friss Ruby-t és RubyGems-t Debian szervergépünkre.
Ez az írás feltételezi egy Debian 5.0 (Lenny) meglétét a célszámítógépen. Friss telepítés esetén nem szükséges semmilyen programcsomag előtelepítése (például a Tasksel-lel).
Az itt leírt parancsokat root-ként (adminisztrátor) hajtsuk végre.

Kezdetnek látogassunk el a Ruby nyelv letöltési oldalára:

wget segítségével töltsük le az aktuális legfrissebb Ruby-t (a cikk írásakor ez a Ruby 1.9.2-p180 volt, a továbbiakban erre hivatkozunk.):

Csomagoljuk ki a tar.gz állományt, majd a létrejött könyvtárba lépjünk be:

gunzip ruby-1.9.2-p180.tar.gz
tar xvf ruby-1.9.2-p180.tar
cd ruby-1.9.2-p180

Telepítsük a fordításhoz szükséges csomagokat:

apt-get install gcc make

Fordítsuk le a Ruby-t:

./configure
make
make install

Ellenőrizzük a telepítés helyességét:

# ruby --version
ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]

Ha mindent jól csináltunk, már van egy friss és üde ruby a gépünkön. Mi a helyzet a RubyGems-szel?

# gem --version
1.3.7

Ez bizony még frissítésre szorul. Látogassunk el a RubyGems weboldalára:

Töltsük le a legfrissebb verziót (a cikk írásakor ez az 1.6.0 volt, a továbbiakban erre hivatkozunk):

Tömörítsük ki, majd lépjünk be a létrejött könyvtárba:

gunzip rubygems-1.6.0.tgz
tar xvf rubygems-1.6.0.tar
cd rubygems-1.6.0

Telepítsük:

ruby ./setup.rb

Majd ellenőrizzük, sikeres volt-e a telepítés:

#gem --version
1.6.0

Akad még egy elintézni való: A gem ugyanis nem működik, hiányolja a zlib -et.

Ezt kipróbálhatjuk az alábbi példán:

# gem install sinatra
ERROR: Loading command: install (LoadError)
no such file to load -- zlib
ERROR: While executing gem ... (NameError)
uninitialized constant Gem::Commands::InstallCommand

Lépjünk vissza a Ruby forrásának könyvtárába (melyet a tar.gz állományból csomagoltunk ki), majd ott hajtsuk végre a következő parancsokat:

cd ext/zlib
ruby extconf.rb
make
make install

Próbáljuk ki ismét:

# gem install sinatra
Fetching: rack-1.2.1.gem (100%)
Fetching: tilt-1.2.2.gem (100%)
Fetching: sinatra-1.1.3.gem (100%)
Successfully installed rack-1.2.1
Successfully installed tilt-1.2.2
Successfully installed sinatra-1.1.3
3 gems installed
Installing ri documentation for rack-1.2.1...
Installing ri documentation for tilt-1.2.2...
Installing ri documentation for sinatra-1.1.3...
Installing RDoc documentation for rack-1.2.1...
Installing RDoc documentation for tilt-1.2.2...
Installing RDoc documentation for sinatra-1.1.3...

Kész. Friss Ruby és RubyGems van a Debian szerverünkön.
Megjegyzés: A Sinatra egy minimalista keretrendszer Ruby alapú weboldalak számára. A ruby és a gem működését nem befolyásolja, csupán példa-programként szerepelt ebben a leírásban.