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 --version1.3.6