16.2. Instalace v uživatelském prostoru

Attributy: section id="rubygems.install.userspace" noent

Odkazy:

FIXME: Bylo by vhodné naplánovat jinak adresáře a upravit postup na tyto nové adresáře.

Ne vždy máme možnost instalovat RubyGems jako správcové serveru přím do systémové části. Nebo naopak nemáme zájem modifikovat systém a chceme mít vše odděleno. Další motivací je přístup distriuce Debian, která potřebuje odlišné zacházení. Ve všech těchto případech s výhodou využijeme možnost nainstalovat si RubyGems jako obyčejný oživatel.

Následující postup byl proveden na Debian Lenny.

Nejdříve nastavíme proměnné. Protože tak nechci činit pokaždé, ani to řešit přes zvláštní skripty, rozhodl jsem se nastavit si je uživatelsky v konfiguraci Bashe. Umístnil jsem následující řádky na začátek souboru ~/.bashrc.

# Local, userspace RubyGems in ~/lib/gems
export GEM_HOME=$HOME/lib/gems
export RUBYLIB=$HOME/lib/gems/lib
export PATH=$HOME/lib/gems/bin:$PATH

Důležité je na začátek souboru, před kód který kontroluje beží li bash v interaktivním režimu.

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

Máme-li proměnné nastaveny, otevřeme si nové terminálové okno, aby se do nové instance bashe načetly naše proměnné. V této chvíli můžeme instalovat.

Stáhneme si poslední verzi RubyGems například z RubyForge, a rozbalíme do pracovního adresáře. V tomto adresáři spustíme instalaci.

V době psaní této poznámky to byla verze 1.3.6 ze dne 2010-02-20. Ale předtím jsem tento postup použil na verzi 1.3.5. Vše pod aktualizovaným Debian Lenny.

$ mkdir src
$ cd src
$ wget http://rubyforge.org/frs/download.php/69365/rubygems-1.3.6.tgz
$ tar xzf rubygems-1.3.6.tgz
$ cd rubygems-1.3.6
$ ruby setup.rb --prefix=~/lib/gems

Spustitelný program se nainstaluje do ~/lib/gems/bin pod jménem gem1.8. Pokud jej chceme spouštět příkazem gem, vytvoříme si na něj symbolický odkaz.

$ cd ~/lib/gems/bin
$ ln -s gem1.8 gem

Protože jsme si správně nastavili proměnné prostředí, je právě nainstalovaný program přímo použitelný. O tom že vše funguje se přesvědčíme tím že se jej zkusíme zeptat na číslo verze. Číslo verze které nám řekne gem musí být stejné jako číslo verze kterou jsme instalovali.

$ gem --version
1.3.6
Licence Creative Commons
Tento dokument Ruby, jehož autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .