TaskJuggler 3 telepítése Ubuntu 14.04-re

A TaskJuggler egy projektmenedzsment szoftver, ami a megadott erőforrásokból ki tudja számolni a projekt időkeretét, költségét és egyéb vonzatait. Leginkább azért szeretem, mert a saját szöveges fájlformátumából (tjp) létre tud hozni egy egészen szép HTML jelentést. Néhány éve már használtam az ubuntu.hu frissítéséhez szükséges erőforrások kiszámításához. Egy új projekthez újra elő kellett vennem.

A TaskJuggler 3 a korábbi C++ nyelven írt 2-es változathoz képest újra lett írva Rubyban. A Rubynak van egy nagyon könnyen használható csomagkezelője, ez pedig a Gem. A Gem gondoskodik róla, hogy a Ruby alkalmazások minden függősége megfelelően feltelepüljön. Viszont az Ubuntuban az 1.9-es és a 2-es Ruby el van különítve, és nem a utóbbi van preferálva, amire nekünk figyelnünk kell, mert a TaskJuggler egyik függőségéhez a 2-esre van szükség.

Telepítsük a 2-es Rubyt:

sudo apt-get install ruby2.0

Nézzük meg, hogy a ruby parancs melyik változatra mutat:

which ruby
ls -l /usr/bin/ruby

A fenti parancs Ubuntu 14.04 alatt az 1.9.1-es verziót fogja mutatni:

lrwxrwxrwx 1 root root 9 febr  15  2014 /usr/bin/ruby -> ruby1.9.1

Ez nekünk gond, hiszen a TaskJuggler függőségeihez a 2-es verzió kell. A Debiannak van egy nagyon jól kezelhető alternatíva megoldása, ezt fogjuk használni az 1.9-es és a 2-es közötti váltáshoz. Hozzuk létre az alternatívákat, a 2-es verziónak nagyobb prioritást adunk, hogy rögtön az legyen kiválasztva:

sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby2.0 20
sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.1 10

Ha ezt a kettő parancsot kiadtuk, akkor ezután a Ruby verziók között a barátságos update-alternatives paranccsal egyszerűen válthatunk:

Ruby alternatívák
update-alternatives működés közben

Ha ezzel megvagyunk, akkor töltsük le a legújabb Gemet a hivatalos oldalról, csomagoljuk ki és indítsuk el a telepítő scriptet:

wget https://rubygems.org/rubygems/rubygems-2.5.1.tgz
tar -xzvf rubygems-2.5.1.tgz
cd rubygems-2.5.1
sudo ruby ./setup.rb

Győzödjünk meg róla, hogy a gem tényleg a gem2.0-ra mutat:

which gem
ls -l /usr/bin/gem

Ha nem, akkor a fenti módszerrel hozzuk létre az alternatívákat, és a 2.0-nak megint adjunk prioritást:

sudo update-alternatives --install /usr/bin/gem gem /usr/bin/gem2.0 20
sudo update-alternatives --install /usr/bin/gem gem /usr/bin/gem1.9.1 10

Miután ezzel is készen vagyunk akkor a futtatókörnyezet már kész, jöhet a TaskJuggler tényleges telepítése:

sudo gem install taskjuggler

Ha ki szeretnénk próbálni, hogy működik-e a jelentéskészítés, töltsük le a tutorial.tjp fájlt, és generáljuk le:

wget http://www.taskjuggler.org/tj3/examples/Tutorial/tutorial.tjp
tj3 tutorial.tjp