Rails kitzelt mich wieder einmal. Hier sind meine Schritte, um eine Umgebung so aufzubauen, wie ich sie haben will.
Kurz vorab: Der Bundler macht wirklich gute Arbeit… wo mit Rails 2.X noch haufenweise Gems zu installieren waren, werden die neuen Bibliotheken jetzt in ein Gemfile eingetragen, und einen Befehl später ist alles eingerichtet. Die Rails 3.X-Fans kennen das, glaube ich, schon, und ich habe die 3’er Version eben übersprungen.
0) Vorbereitungen: Ruby installieren usw.
Bei mir läuft die Umgebung in einer Virtual Box VM mit Debian Linux 7.X. Da gibt’s ein paar Vorarbeiten:
Der Sicherheit halber ist zunächst der Entwickler-User in die sudo
-Gruppe aufzunehmen, damit die nun folgenden Schritte ohne Wechsel zu root
auskommen. Ausserdem braucht der Entwickler gewisse root
-Rechte, um gems (Ruby-Bibliotheken) installieren zu können.
So geht’s: (als root
, für User <username>
)
adduser <username> sudoers
Dann kommt die Installation des Ruby-Interpreters selbst (ich möchte Ruby 1.9.3, und die Möglichkeit in Debian Wheezy, den Ruby-Interpreter ggf. später umschaltbar zu machen, nehme ich gleich mit):
sudo apt-get install ruby1.9.3 ruby-switch
Ohne SQlite kommt Rails nicht weit.
sudo gem install sqlite3 libsqlite3-dev
(gem
ist inzwischen Teil der Ruby-Distribution)
… und ohne git
für die Versionsverwaltung komme ich nicht weit:
sudo apt-get install git git-email gitk git-gui git-arch git-doc
Einige Bibliotheken brauchen dann noch C-Compiler, C++-Compiler und so weiter…
1) Rails 4.0 installieren
Die Bastelanleitung ist hier und läuft (bei installiertem Ruby-System) eigentlich auf eine Zeile hinaus. Allerdings brauchen wir dafür noch die Debian build-essentials.
Weiter geht es also mit
sudo apt-get install build-essential
Dann können wir der Bastelanleitung folgen und Rails installieren:
sudo gem install rails --version 4.0.0 --no-ri --no-rdoc
Damit ist alles bereit, um das erste Programm zu generieren:
rails new <applicationname>
rake db:migrate
generiert wie von Rails 2.X gewohnt ein Verzeichnis applicationname
im aktuellen Verzeichnis.
2) RSpec
Was wäre Rails ohne RSpec? Die geniale Integration mit BDD ist für mich einer der wichtigsten Gründe, Rails zu verwenden. Um RSpec zu verwenden, sind einfach die folgenden Zeilen in das Gemfile einzutragen:
group :development, :test do
gem 'rspec-rails', '~> 2.0'
end
gem 'execjs'
gem 'therubyracer'
Dann noch einmal den Bundler laufen lassen: bundle install
, und im App-Verzeichnis RSpec initialisieren:
rails generate rspec:install
Fertig.
Ab jetzt generieren die Rails Codegeneratoren RSpec spec
Dateien anstelle von Test::Unit
Tests.
3) Cucumber
Was wäre Rails ohne Cucumber?
Für mich gehört es unbedingt dazu. Allerdings gibt es eine kleine Fußangel unter Debian Wheezy: Eine Dependency auf Features aus dem Paket xsltproc
wird nicht automatisch aufgelöst. Also installieren wir das Paket erst einmal von Hand:
sudo apt-get install xsltproc
Dann geht’s weiter wie immer: Cucumber wird in das Gemfile eingetragen:
group :test do
gem 'cucumber-rails', ">= 0.3.2"
end
… und der Bundler wird mit bundle install
noch einmal gestartet. Danach initialisiert rails generate cucumber:install
alles wie erwartet.
4) Bootstrap
… und dann noch Bootstrap. Bisher funktioniert die Bastelanleitung hier ganz hervorragend, es gibt keinen Grund, sie hier zu wiederholen..
Nur ein kleiner Hinweis: Ich mag in meinem Default-Layout (in dieser Phase) noch kein Menü. Darum lasse ich die Zeilen
<header class="navbar navbar-fixed-top">
<nav class="navbar-inner">
</nav>
</header>
aus dem Default-Layout weg. Dann brauche ich auch die Date app/views/layouts/_navigation.html.erb
nicht.
Mit den Form Buildern habe ich mich bisher noch nicht beschäftigt.
Und jetzt?
Tja… wer Rails kann, der legt (spätestens) jetzt los. Wer Rails noch nicht kann, kann ja immer wieder einmal hier hereinschauen. Vielleicht mache ich ja noch mehr Interessantes 🙂