Kapsin logo

Kapsi Internet-käyttäjät ry

Gem-ympäristön asennus omaan kotihakemistoon

Gemit ovat Ruby-ohjelmointikielen laajentamiseen tarkoitettuja palikoita ja samalla kirjastokokoelma.

Käytännössä omalle gem-ympäristölle on tarvetta, jos haluaa kehittää verkkopalveluita uusimman Rails-kehitysympäristön päälle. Kannattaa siis säätää gem-ympäristöä Karviaisella. Tämä ohje kertoo, kuinka saat gemit toimimaan omalla käyttäjätunnuksellasi. Lakka-palvelin on tällä hetkellä sen verran vanhaa versiota, että uusin RubyGems ei välttämättä toimi.

Valmistelu

Luo kotihakemistoosi local-hakemisto, jonka alla alamme pitämään gemejä:

mkdir -p $HOME/local

Muokkaa kotihakemistosi .bashrc-tiedostoa ja lisää sen loppuun seuraavat rivit:

export RUBYLIB="$HOME/local/lib:$RUBYLIB"
export GEM_HOME=$HOME/local
export PATH=$HOME/local/bin:$PATH

Tämän jälkeen anna komento, jotta saat uudet asetukset käyttöön:

source $HOME/.bashrc

Asennus

Hae RubyGems osoitteesta http://rubyforge.org/frs/?group_id=126 (tarkista, onko alla olevassa uusin versio)

wget http://rubyforge.org/frs/download.php/38646/rubygems-1.2.0.tgz

Pura se johonkin päin kotihakemistoasi. Onnistuu esimerkiksi komennolla

tar xvvzf rubygems-1.2.0.tgz

Siirry purettuun hakemistoon ja anna komento

cd rubygems-1.2.0
ruby setup.rb config --prefix=$HOME/local

Tämän jälkeen et enää tarvitse juuri purettua rubygems-x.x.x -hakemistoa ja tar-palloa, vaan voit poistaa ne.

Viimeistely

Tässä vaiheessa RubyGems on jo asennettu, mutta ei vielä toimi pelkästään kirjoittamalla gem, vaan vaatii gem1.8-komennon. Tämän korjaamme tekemällä symbolisen linkin gem1.8:sta gem:iin.

ln -s $HOME/local/bin/gem1.8 $HOME/local/bin/gem

Tässä vaiheessa voit kokeilla RubyGemsin päivittämistä komennolla

gem update --system

Jos ko. komento ei toimi (antaa virheilmoituksen), on jotain vialla.

Käyttö Ruby on Railsin kanssa

Sivutilasta ajettavat FCGI-ohjelmat eivät huomioi .bashrc:hen tehtyjä asetuksia. Siksi ne täytyy erikseen asettaa environment.rb:ssä:

$LOAD_PATH.unshift '/home/users/käyttäjä/local/lib'
ENV['GEM_PATH'] = '/home/users/käyttäjä/local'

Huomiot

Opettele käyttämään gemejä. On hyvin tärkeää seurata käyttämiensä kirjastojen turvallisuustilannetta. Koska kirjastot on nyt asennettu omaan kotihakemistoosi, on niistä huolenpito myöskin omalla vastuullasi! Ylläpito pitää kyllä huolen järjestelmään yhteisesti asennetuista kirjastoista, mutta ei voi seurata kaikkien omia (edes ohjeistettuja) virityksiä. Tutustu siis RubyGemsin dokumentaatioon ja käyttöohjeisiin: http://www.rubygems.org/read/book/1.