Po delší době váhání jsem se rozhodl, že udělám další krok a posunu se dál od Drupalu a zkusím štěstí s Ruby on Rails. Což samozřejmě znamená začít instalací Gitu, Ruby, RubyGems a Rails. Zároveň jsem sebral všechnu odvahu a rozhodl se mou strast s instalací na Ubuntu 11.10 zde zveřejnit.
Pomocí googlu lze nalézt soustu návodů na instalaci pro různé verze Ubuntu, ale ani jedna pro mě zcela nefungovala. Postupnými iteracemi jsem tedy dospěl k průniku několika postupů. Jde o prostý popis mé instalace, tedy místy možná některým bude chybět diskuze toho proč jsem některé kroky dělal zrovna takto. I přes to doufám, že někomu třeba tento postup pomůže. Minimálně pokud budu nucen reinstalovat systém tak já se sem podívám. Upozorňuji tedy: Jedná se o můj postup ne o bezchybný návod.
Začít je vhodné instalací Gitu:
$ apt-get install git-core
Na instalaci Ruby jsem použil RVM (Ruby Version Manager) – tento příkaz nainstaluje poslední stable verzi:
$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )
Dále je vhodné přidat rvm do .bash_profile aby bylo v terminálou vždy dostupné:
$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
Nyní buď restartovat terminál a nebo:
$ source ~/.bash_profile
Uspěšná instalace by se měla projevit asi takto:
$ type rvm | head -1
rvm is a function
Na uplný závěr instalace rvm je dobré spustit:
$ rvm requirements
Tento příkaz vám prozradí jestli rvm má na váš systém ještě nějaké požadavky a přímo vám dá vědět co nainstalovat. Například takovouto hláškou:
# For JRuby, install the following:
jruby: /usr/bin/apt-get install curl g++ openjdk-6-jre-headless
jruby-head: /usr/bin/apt-get install ant openjdk-6-jdk
Já jsem si vybral pro instalaci z nějakého důvodu ruby 1.9.2. Což v překladu pro rvm znamená:
$ rvm install 1.9.2
Výsledek:
$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
A pro pořádek ještě:
$ rvm use 1.9.2 --default
Tím je tedy instalované Ruby. A díky tomu, že jsem instaloval pomocí rvm tak se rovnou nainstalovali i RubyGems. Ověřit lze např. pomocí:
$ which gem
/home/miroslav/.rvm/rubies/ruby-1.9.2-p290/bin/gem
Od věci ale není spustit:
$ [sudo] gem update --system
Instalace rails už pak znamená pouze:
$ gem install rails
Poté můžete ověřit co jste to vlastně provedli pomocí:
$ rails -v
Rails 3.2.1
Pak už nezbývá než se pokusit vytvořit první RoR aplikaci.
$rails new prvni_app
create README.rdoc
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
...
create vendor/plugins
create vendor/plugins/.gitkeep
run bundle install
...
Using sass-rails (3.2.4)
Using sqlite3 (1.3.5)
Installing uglifier (1.2.3)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
Když jsem se poprvé pokusil spustit rails new app
byl jsem upozorněn, že mi chybí nějaké knihovny, pro mě konkrétně:
sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev
Poté už vše proběhlo v pořádku. Nyní už zbývá pouze spustit local web server a vše je ok:
$rails server
I zde jsem v první iteraci narazil na problém.
Could not find a JavaScript >runtime. See https://github.com/sstephenson/execjs for a list of available r
Po chvilce googlení jsem objevil a vyřešil pomocí:
$ sudo apt-get install nodejs
Pak už jsem server spustil:
$ rails server
=> Booting WEBrick
=> Rails 3.2.1 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-01-30 20:09:20] INFO WEBrick 1.3.1
[2012-01-30 20:09:20] INFO ruby 1.9.2 (2011-07-09) [i686-linux]
[2012-01-30 20:09:20] INFO WEBrick::HTTPServer#start: pid=2940 port=3000
A na localhost:3000
objevil WELCOME ABOARD You’re riding Ruby on Rails!
Pokud jste někdo dočetl až sem doufám, že vám návod byl alespoň částečně k něčemu dobrý.
Dobry navod, mal som podobne problemy - nemohol som najst jeden funkcny navod, ale zvladol som to.
Neviem preco si pouzil Ruby 1.9.2 ked uz je 1.9.3.
Jednoduchsie je nainstalovat Ruby cez balickovaci system - apt, yum, pacman a pod. Len problem je v tom ze su tam dost stare verzie.
Dalsia moznost je skompilovat si poslednu verziu.
A este jeden tip, neinstalujte rvm cez balickovaci system.
[1] Je mnohem lepsi instalovat ruby pomoci RVM. Umoznuje to pak mit libovolne mnozstvi ruznych verzi ruby, at uz jsou to RI 1.8.7 / 1.9 nebo treba JRuby apod. a jednodusse mezi nima prepinat. Nektere starsi projekty na 1.9 nebezi. Krome prepinani verzi ruby to pak umi prepinat i gemsety, tj. je to plna virtualizace intepretu a gemu pro kazdy projekt. Vyhod je tam proste tolik, ze by me ani nenapadlo instalovat systemove ruby.
Fajn návod! Doporučuju ještě místo nodejs použít therubyracer, stačí jej přidat do Gemfile nebo nainstalovat pomocí gem install. Z mé zkušenosti je to rychlejší javascriptový engine a není to takový moloch jako nodejs. Viz https://github.com/sstephenson/execjs
Přeju hodně zábavy na RoR!
Autor je jaderný fyzik na nejmenované jihočeské elektrárně a zde (myšleno na blogu ne na elektrárně) hodlá odkládat vědomosti, které určitě zapomene a bude rád, že ví kde je zas najde. Pracovně používá Debian a píše občas v C, Perlu a Javě. Doma se pere s Ubuntu a hraje si s Drupalem a Ruby on Rails.