5. Installatie van Ruby on Rails op Ubuntu 11.10

Door Vold op zaterdag 14 april 2012 17:25 - Reacties (10)
CategorieŽn: Programmeren, Ubuntu, Views: 6.760

Inleiding
In deze handleiding leg ik uit hoe je Ruby on Rails werkend krijgt binnen Ubuntu 11.10. Klinkt vrij simpel, maar dat is het helaas niet. Het heeft me toch een aantal uurtjes gekost om dit werkend te krijgen, maar ik hoop dat met deze handleiding jullie deze frustraties gespaard worden. De handleiding is kort & bondig, want ik wil nu verder gaan spelen met mijn ror servertje. Mocht er interesse zijn in meer toelichting en/of meer artikelen over RoR, laat dan een berichtje achter.

Waarom Ruby on Rails (RoR)?
Ik programmeer al enkele jaren met veel plezier in PHP in combinatie met MySQL. Een veel gemaakte keuze zul je ongetwijfeld denken. Dat is ook zo, maar ik dacht altijd: "ik kan alles maken wat ik wil in PHP, dus waarom veel moeite doen om een andere taal te leren?"

Toch vind ik soms PHP erg omslachtig werken en zijn bepaalde functies en methode redelijk onlogisch. Er zijn in de loop van de tijd aardig wat artikelen gewijd aan de tekortkomingen van PHP, onder andere deze: "PHP: a fractal of bad design" vond ik zelf wel amusant om te lezen.

Let op! Ik ben niet uit op een flamewar, ik vind PHP fantastisch! Ik wil nu graag de komende weken me gaan verdiepen in Ruby / Ror, dus graag ook geen andere suggesties in de zin van "ga toch python leren, veel nuttiger", want mijn keuze is nu gemaakt. 8-)

1. Wat gaat er geÔnstalleerd worden?
Kort door de bocht: alles wat nodig is om RoR goed te laten lopen. Mocht je tijdens de installatie geen kaas willen halen, speel dan even op deze website: http://tryruby.org/ met Ruby. Dan leer je alvast wat de basics en kun je vervolgens gelijk aan de slag. :)

2. Update, Git & RVM
Zorg dat je systeem helemaal up-to-date is:
sudo apt-get update
sudo apt-get upgrade

Installeer git & curl:
sudo apt-get install build-essential git-core curl


RVM staat voor Ruby Version Manager (lijkt me duidelijk), dit wordt vaak aangeraden en zonder dit lukte me het ook niet goed om alles werkend te krijgen, dus deze gaan we ook installeren:
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)


We moeten nog de bashrc aanpassen:
gedit ~/.bashrc


Voeg bovenaan dit bestand de volgende regels toe:

# Edit by Huxley
# Load RVM into a shell session *as a function*
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
# end of edit by Huxley


En we herladen het bestand zodat de wijzigingen worden meegenomen:

. ~/.bashrc


Ik zet zelf altijd comments om mijn eigen edits heen, vaak nog met m'n initialen erbij. Mocht er iets mis gaan, dan kan je makkelijk je eigen edits vinden & wijzigen.

We gaan verder, we testen even of RVM goed werkt door het volgende commando te testen:

rvm requirements


Dat werkt? Mooi!

Nu gaan we nog wat packages installeren

sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev 
libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion


Zorg dat het bovenstaande allemaal op 1 lijn staat, anders wordt niet alles geÔnstalleerd.

3. De installatie van Ruby & RoR

Installeer een recente versie van Ruby en zet deze als standaard. Zelf ben ik een stuk kaas gaan halen tijdens deze installatie, want dat duurt wel even. :Y)
rvm install 1.9.3
rvm --default use 1.9.3


Heerlijk kaasje trouwens, pittige en romige kaas. Ben helaas de naam alweer vergeten, zo druk bezig ook met terminal geneuzel. Afin, laten we verder gaan.

Je kan testen of alles werkt met het onderstaande commando, je ziet gelijk wat het resultaat dan moet zijn:
myusername@myusername-ubuntu-desktop:~/$ ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [i686-linux]


Goed dan kunnen we nu rails installeren. Aangezien RVM is geÔnstalleerd in de home directory hoeven we geen sudo te gebruiken, blijf daar dus ook met je tengels vanaf!
 gem install rails -v 3.2.1


Nu moest ik nog het volgende installeren, want out-of-the-box werkte het niet:

sudo apt-get install nodejs


Dat was het! Nu kunnen we een test applicatie aanmaken, zorg hiervoor dat je in je homedirectory zit, zodat je straks de bestanden makkelijk terug kunt vinden.

rails new projects/test_app
bundle install
cd ~/projects/test_app
rails server


Ga nu naar http://localhost:3000 om te kijken of alles goed werkt. Als je dit ziet:

Welcome aboard
You’re riding Ruby on Rails!

Dan wil ik je feliciteren met het succesvol installeren van RoR op Ubuntu 11.10! _/-\o_

Volgende: 6. Fujitsu ScanSnap S300 in Ubuntu 12.04 05-'12 6. Fujitsu ScanSnap S300 in Ubuntu 12.04
Volgende: De Banglasdesh Rippers 01-'12 De Banglasdesh Rippers

Reacties


Door Tweakers user GrandDestroyer, zaterdag 14 april 2012 18:04

Ik ben ook net begonnen met me verdiepen in RoR, weliswaar op Windows maar dat werkt ook wel.

http://ruby.railstutorial.org/

Dat is wel een mooi boek om je te helpen bij het leren van RoR!

Mijn eigen ervaring so far is dat het heel makkelijk is om snel iets werkends te hebben, maar wil je het echt begrijpen gaat er toch wel aardig wat tijd in zitten.

Door Tweakers user Afvalzak, zaterdag 14 april 2012 18:43


code:
1
[i]# Edit by Huxley



Zonder dat werkt het ook wel;)

Door Tweakers user Jarrean, zaterdag 14 april 2012 18:54

afvalzak schreef op zaterdag 14 april 2012 @ 18:43:

code:
1
[i]# Edit by Huxley



Zonder dat werkt het ook wel;)
Hij geeft kort erna aan waarom dat er staat ;)

Mooie blog!

Door Tweakers user sfranken, zaterdag 14 april 2012 19:20

Het reloaden van je .bashrc file kun je beter met source doen:

source ~/.bashrc

Dit is omdat het puur reloaden niet altijd ervoor zorgt dat paden ($PATH) aangepast word, en met source wel.

Verder is je blog knettergoed :) Ik zit hier toch al een tijdje mee te kloten, nu werkt het gewoon :)
Ben nu een shell-script aan het schrijven die dit (semi-) automatisch doet :)

Door Tweakers user Vold, zaterdag 14 april 2012 20:12

sfranken schreef op zaterdag 14 april 2012 @ 19:20:
Het reloaden van je .bashrc file kun je beter met source doen:

source ~/.bashrc

Dit is omdat het puur reloaden niet altijd ervoor zorgt dat paden ($PATH) aangepast word, en met source wel.

Verder is je blog knettergoed :) Ik zit hier toch al een tijdje mee te kloten, nu werkt het gewoon :)
Ben nu een shell-script aan het schrijven die dit (semi-) automatisch doet :)
Dank voor je feedback! Ik laat het momenteel zo even staan omdat dit ook werkt, maar ik zal het onthouden! Overigens wil ik je niet ontmoedigen in je huidige projectje, maar volgens mij bestaat er al zoiets:

https://github.com/joshfng/railsready

Dan kan je in 1 regel alles installeren, maar bij mij werkte het niet helemaal goed.

wget --no-check-certificate https://raw.github.com/joshfng/railsready/master/railsready.sh && bash railsready.sh

Door Tweakers user sfranken, zaterdag 14 april 2012 20:41

Dat ding kende ik al ja, maar dat werkte niet. Die van mij (denk ik) wel:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/bash

# Update the system
sudo apt-get update
sudo apt-get upgrade

# Install git and curl
sudo apt-get install build-essential git-core curl

# Install some other requirements
sudo apt-get install openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion nodejs

# Install RVM
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

# Update ~/.bashrc
cp ~/.bashrc ~/.bashrc.old # Just in case
echo '# Add RVM into the shell session as a function' >> ~/.bashrc
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc

# Reload ~/.bashrc
source ~/.bashrc

# Install a recent version of RoR
rvm install 1.9.3
rvm --default use 1.9.3

# Install Rails
gem install rails -v 3.2.1

echo 'Done!'
exit 0


Door Tweakers user kaesve, zaterdag 14 april 2012 22:12

Je hebt een kopje met 'waarom ruby', maar daar leg je je keuze helemaal niet uit. Je verteld alleen dat je iets anders dan PHP wil, maar ik ben benieuwd waarom je dan ruby kiest en niet bijvoorbeeld python of ASP.net

Door Tweakers user sfranken, zaterdag 14 april 2012 22:18

Waarom ASP.net niet kan ik inkomen denk ik: licentiekosten. Je hebt er sowieso een Windows server voor nodig.

Bovendien is ASP.net gewoon niet leuk (eigen mening).

Door Tweakers user Vold, zaterdag 14 april 2012 22:29

kaesve schreef op zaterdag 14 april 2012 @ 22:12:
Je hebt een kopje met 'waarom ruby', maar daar leg je je keuze helemaal niet uit. Je verteld alleen dat je iets anders dan PHP wil, maar ik ben benieuwd waarom je dan ruby kiest en niet bijvoorbeeld python of ASP.net
Een vriend van mij is erg betrokken met de zaken rondom RoR, vandaar dat ik me meer aangetrokken voel tot Ruby/RoR. Daarbij komt dat mijn zelf ontwikkelde PHP MCV framework zeer veel weg heeft van rails, dus vandaar dat deze overstap me het beste leek. :)

Door Tweakers user joint_me, zondag 15 april 2012 11:47

Inplaats van RVM kun je ook rbenv gebruiken, is wat simpeler. En had je heroku.com al genoemd, gratis hosting?

p.s. TIp voor op de mac, Homebrew maakt het installeren van dingen zoals Imagemagick (nodig voor de Paperclip gem) een stuk makkelijker.

[Reactie gewijzigd op maandag 16 april 2012 10:34]


Reageren is niet meer mogelijk