Neu: Das englische Ruby on Rails 4.0 Buch.

1.5. Debian 6.0 (Squeeze) - Installation von Ruby on Rails 3.2

Es gibt zwei Hauptgründe, ein Ruby-on-Rails-System mit RVM (Ruby Version Manager) zu installieren:
  • Man hat schlicht und ergreifend keine Root-Rechte auf dem System. Dann geht es nicht anders.
  • Man möchte mehrere und sauber voneinander abgetrennte Rails-Systeme und damit vielleicht Ruby-Versionen betreiben. Das lässt sich mit RVM auf dem Linux-System sehr gut realisieren. So können Sie auf einem Rechner ein Ruby 1.8.7 mit einem Rails 2.3.8 und parallel ein Ruby 1.9.3 mit einem Rails 3.0 betreiben.

Anmerkung

Detaillierte Infos zu RVM finden Sie auf der RVM-Homepage unter https://rvm.io/.
Diese Beschreibung setzt ein frisch installiertes Debian GNU/Linux 6.0 (Squeeze) voraus. Ein ISO-Image für die Installation finden Sie auf http://www.debian.org/releases/squeeze/debian-installer/. Ich empfehle das etwa 160 MByte große Netzinstallations-CD-Image. Eine Debian-GNU/Linux-Installationsanleitung findet sich unter http://www.debian.org/releases/squeeze/i386/; ein allgemeines Anwenderhandbuch unter http://debiananwenderhandbuch.de.

Warnung

Wenn Sie die gedruckte Buch-Version dieses Kapitels lesen, dann schauen Sie bitte sicherheitshalber noch einmal auf die Online-Version unter http://ruby-auf-schienen.de. Jedes Update des Betriebssystems bzw. RVMs zieht fast immer auch eine Anpassung der Installationsanleitung nach sich.

Vorbereitungen

Wenn Sie auf dem Zielsystem Root-Rechte besitzen, dann können Sie mit folgenden Befehlen sichergehen, dass alle notwendigen Programme für eine erfolgreiche Installation von RVM bereitstehen. Falls Sie keine Root-Rechte haben, müssen Sie entweder hoffen, dass Ihr Admin bereits alles so installiert hat oder ihm die entsprechende Zeile kurz mailen.
Als Erstes ein Update der Paketlisten:
root@debian:~# aptitude update
Treffer http://ftp.de.debian.org squeeze Release.gpg                            
Hole:1 http://ftp.de.debian.org/debian/ squeeze/main Translation-de [1.514 kB]
Hole:2 http://security.debian.org squeeze/updates Release.gpg [836 B]

[...]

1820kB wurden in 12s heruntergeladen (150kB/s)
Paketlisten werden gelesen... Fertig
root@debian:~#

Anmerkung

Natürlich können Sie optional auf dem System einen SSH-Server installieren, um dann auf dem System per SSH statt auf der Konsole zu arbeiten:
root@debian:~# aptitude -y install openssh-server
Nachfolgend die Installation der zur Installation von RVM benötigten Pakete:
root@debian:~# apt-get -y install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion python
[...]
root@debian:~# 
Jetzt ist ein guter Zeitpunkt, sich als root abzumelden:
root@debian:~# exit
Abgemeldet

Ruby 1.9.3 mit RVM installieren

Loggen Sie sich mit Ihrem normalen Benutzer-Account ein (in unserem Fall ist das der User xyz).
RVM lässt sich auf verschiedenen Wegen installieren. Ich empfehle das folgende Monsterkommando (bitte exakt kopieren), mit dem das aktuellste RVM installiert wird:
xyz@debian:~$ curl -L https://get.rvm.io | bash -s stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  8545  100  8545    0     0   2089      0  0:00:04  0:00:04 --:--:-- 13628
Downloading RVM from wayneeseguin branch stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  994k  100  994k    0     0  68488      0  0:00:14  0:00:14 --:--:--  144k

Installing RVM to /home/xyz/.rvm/
    Adding rvm PATH line to /home/xyz/.bashrc /home/xyz/.zshrc.
    Adding rvm loading line to /home/xyz/.bash_login /home/xyz/.zlogin.

# RVM:  Shell scripts enabling management of multiple ruby environments.
# RTFM: https://rvm.io/
# HELP: http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net)
# Cheatsheet: http://cheat.errtheblog.com/s/rvm/
# Screencast: http://screencasts.org/episodes/how-to-use-rvm

# In case of any issues read output of 'rvm requirements' and/or 'rvm notes'

Installation of RVM in /home/xyz/.rvm/ is almost complete:

  * To start using RVM you need to run `source /home/xyz/.rvm/scripts/rvm`
    in all your open shell windows, in rare cases you need to reopen all shell windows.

# xyz,
#
#   Thank you for using RVM!
#   I sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne


rvm 1.12.5 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

xyz@debian:~$
RVM ist jetzt fertig installiert. Sie müssen nun entweder Ihr Terminal und damit Ihre Shell schließen und danach neu starten oder das rvm-Skript wie folgt einlesen:
xyz@debian:~$ source ~/.rvm/scripts/rvm
xyz@debian:~$
Um zu testen, ob rvm richtig installiert ist, rufen wir es einmal mit -v auf:
xyz@debian:~$ rvm -v

rvm 1.12.5 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

xyz@debian:~$
Sollte hierbei als Antwort der Bash command not found ausgegeben werden, müssen Sie die obigen Schritte noch einmal überprüfen.
Der folgende Befehl zeigt Ihnen die Rubies (Ruby-Interpreter) an, die RVM kennt [6]:
xyz@debian:~$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-p358]
[ruby-]1.8.7-head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2-p180
[ruby-]1.9.2-p290
[ruby-]1.9.2-p318
[ruby-]1.9.2[-p320]
[ruby-]1.9.2-head
[ruby-]1.9.3-preview1
[ruby-]1.9.3-rc1
[ruby-]1.9.3-p0
[ruby-]1.9.3-p125
[ruby-]1.9.3-[p194]
[ruby-]1.9.3-head
ruby-head

[...]

xyz@debian:~$

Anmerkung

Es gibt für Ruby verschiedene Interpreter. Relevant ist hier für uns der ganz normale MRI (Matz's Ruby Interpreter) [7], dessen Kern seit Ruby 1.9 die Ruby-VM namens YARV (Yet Another Ruby VM) [8] bildet.
Jetzt können Sie mit RVM Ruby 1.9.3 installieren:
xyz@debian:~$ rvm install 1.9.3
Fetching yaml-0.1.4.tar.gz to /home/xyz/.rvm/archives
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  460k  100  460k    0     0  42775      0  0:00:11  0:00:11 --:--:-- 85978
Extracting yaml-0.1.4.tar.gz to /home/xyz/.rvm/src
Configuring yaml in /home/xyz/.rvm/src/yaml-0.1.4.
Compiling yaml in /home/xyz/.rvm/src/yaml-0.1.4. 

[...]

Installation of rubygems completed successfully.
ruby-1.9.3-p194 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
ruby-1.9.3-p194 - #importing default gemsets (/home/xyz/.rvm/gemsets/)
Install of ruby-1.9.3-p194 - #complete 
xyz@debian:~$  
RVM stellt per Default direkt die gerade installierte Ruby-Version zur Verfügung:
xyz@debian:~$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
xyz@debian:~$ 

Anmerkung

Sollten Sie vorher bereits eine System-Ruby-Version 1.8.x installiert haben, so können Sie mit dem Befehl rvm system jederzeit wieder auf diese zurückwechseln.

Tipp

Geben Sie einfach mal den Befehl rvm ein, um eine entsprechende Hilfe-Seite mit weiteren Befehlen angezeigt zu bekommen.

Ruby Documentation generieren

Ruby kommt mit einer immer abrufbereiten Dokumentation (siehe „Hilfe per ri“). Wenn Sie diese installieren wollen (was ich Ihnen empfehle), so müssen Sie jetzt noch rvm docs generate starten:
xyz@debian:~$ rvm docs generate

Rails installieren

Zuerst überprüfen wir, ob ein Ruby in der Version 1.9.3 aufgerufen wird. Sollte das nicht der Fall sein, lesen Sie sich bitte „Ruby 1.9.3 mit RVM installieren“ durch.
xyz@debian:~$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
xyz@debian:~$
Anschließend stellen wir sicher, dass das gem-Paketmanagement aktuell ist:
xyz@debian:~$ gem update
Updating installed gems
Nothing to update
xyz@debian:~$

Rails 3.2 installieren

Der Rest ist einfach:
xyz@debian:~$ gem install rails --version '~> 3.2.0'
Fetching: i18n-0.6.0.gem (100%)
Fetching: multi_json-1.3.2.gem (100%)

[...]

Installing RDoc documentation for rdoc-3.12...
Installing RDoc documentation for railties-3.2.7...
Installing RDoc documentation for rails-3.2.7...
xyz@debian:~$
Perfekt. Jetzt haben Sie Rails 3.2 installiert.
xyz@debian:~$ rails -v
Rails 3.2.7
xyz@debian:~$

Anmerkung

Falls Sie einmal eine ältere Rails-Version installieren wollen, so können Sie den --version Parameter mit der entsprechenden älteren Versionsnummer anpassen (z. B. --version '-> 3.1.0' für die aktuellste Rails 3.1 Version).

Und jetzt?

Wenn Sie noch nie mit Ruby gearbeitet haben, sollten Sie zuerst die Kapitel 2, Ruby-Grundlagen lesen. Wenn Sie schon Ruby-Meister sind und sich neu mit Rails beschäftigen wollen, dann empfehle ich Ihnen die Lektüre von Kapitel 3, Erste Schritte mit Rails.