Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Was fehlt?

Es liegt in der Natur der Sache: Ein Wiki ist niemals fertig. Wir geben uns große Mühe, mit der Entwicklung Schritt zu halten; lassen Supportanfragen direkt in neue Artikel einfließen … aber auch wir sind nicht perfekt. Wenn du hier nicht fündig wirst: Nicht schmollen - Bescheid sagen! Unter hallo@uberspace.de steht dir unser Team gerne bereit. Hand drauf!

development:ruby

Einführung

Ruby ist eine Programmiersprache, die vor allem durch das Framework Ruby on Rails bekannt geworden ist und sich durch Simplizität auszeichnet.

ruby-Projekte gehören nicht in den DocumentRoot sondern in dein Home-Verzeichnis!

Einrichtung

Wenn dein Uberspace jünger als vom Juli 2015 ist, dann brauchst du nichts weiter zu tun. Die hier beschriebenen Möglichkeiten sind ohne weitere Einrichtung funktionsfähig.

Update

Sollte dein Uberspace schon länger existieren, dann kannst du die Voreinstellungen folgendermaßen übernehmen:

$ mkdir $HOME/.bundle
$ cp /etc/skel/.bundle/config $HOME/.bundle/config
$ cp /etc/skel/.gemrc $HOME/
Achtung: dabei überschreibst du vorhandene Konfigurationsdateien.

Probleme

Falls du in deinem Uberspace bereits Anwendungen unter Ruby installiert hast und in dieser Anleitung Hilfe suchst, dann beachte folgendes:

Abgesehen von wenigen Ausnahmefällen sind ruby-spezifische PATH-Anpassungen in Dateien wie der $HOME/.bashrc, $HOME/.bash_profile sowie den zsh- und sonstigen Shell-Äquivalenten nicht mehr nötig. Um Problemen bei der Entwicklung mit Ruby und Rails auszuweichen, raten wir dir, diese Anpassungen zu entfernen und spezifische Versionen über die $HOME/etc/rubyversion zu pinnen.

Versionen

Aktuell existieren drei Versionen der Sprache, zwischen denen du wählen kannst:

  • Ruby 2.3
  • Ruby 2.2
  • Ruby 2.1

Version 2.3 ist der aktuelle Standard für neue Uberspaces. Im Zweifelsfall, belasse es bei dieser Version oder stelle eine andere ein, wenn deine Programme diese voraussetzen.

Wir halten Ruby aktuell, so dass du alle Sicherheits-Updates für die von dir gewählte Version automatisch erhältst. Solche Updates ändern nichts an der Funktionalität, sondern beheben lediglich Fehler, die zu Problemen führen könnten. Damit deine Programme auf Dauer funktionieren, werden wir alle genannten Versionen so lange wie möglich verfügbar halten.

Außerdem haben wir noch eine veraltete Version. Diese behalten wir da, falls du sie unbedingt benötigst:

  • Ruby 2.0

Aber Achtung: Ruby 2.0 (und 1.8, sowie 1.9) ist offiziell „End of Life“ und wird nicht mehr aktualisiert!

Version festlegen

Die Ruby-Version deines Uberspaces kannst du in der Datei $HOME/etc/rubyversion einstellen. Wenn du keine solche Datei hast, dann lege diese neu an.

Um deinen Uberspace auf die Version 2.2 fest zu setzen, schreibe folgendes in die Datei:

RUBYVERSION=2.2

Du kannst auch RUBYVERSION=2.2.2 schreiben, wenn du explizit diese bestimmte Version verwenden willst. Dann solltest du jedoch ein Auge auf Updates haben, denn Sicherheitslücken schließen sich dann nicht mehr automatisch mit Erscheinen der jeweils aktuellen Version. Sobald diese verfügbar wird, musst du sie dann hier einstellen.

Gems

Gems sind Bibliotheken, auf denen Ruby-Programme üblicherweise aufbauen. Mit dem Programm gem kannst du diese installieren und verwenden. Manchmal bringen diese auch ausführbare Programme mit, so dass du neue Kommandos auf der Shell verwenden kannst.

So kann man zum Beispiel eine Ruby-Version des Kommandos whois bekommen:

$ gem install whois
...
Successfully installed whois-3.5.9
1 gem installed
$ which ruby-whois
~/.gem/ruby/2.2.0/bin/ruby-whois
$ ruby-whois uberspace.de
...

Bundler

Mit Bundler kann man alle Gems, die eine Anwendung benötigt, auf einen Schlag installieren. Dabei achtet Bundler darauf, genau die richtigen Versionen auszuwählen, damit die Programme nicht Fehler produzieren, weil das jeweilige Gem einen zu frühen oder späten Versionsstand hat.

Wir liefern Bundler gleich mit, so dass du in deinem Uberspace flugs benötigte Gems installieren kannst. Rails zum Beispiel verwendet Bundler, um Gems für ein neues Projekt zu installieren. Beispiel:

$ rails new myapp
...
 run  bundle install
...
Bundle complete! 12 Gemfile dependencies, 54 gems now installed.
Bundled gems are installed into ./vendor/bundle

Um die von Bundler installierte Version eines Ruby-Kommandos zu nutzen, kann man innerhalb des Projektes folgendes eingeben:

$ cd myapp
$ bundle exec rails version
Rails 4.2.1 

Rails wird also bis auf weiteres in diesem Projekt bei Version 4.2.1 bleiben.

Oben konnte man auch sehen, dass Bundler (in unserer Konfiguration) die Gems im Verzeichnis des Projektes installiert; und zwar in ./vendor/bundle.

Das hat unter anderem den Vorteil, dass man zusammen mit einem nicht mehr benötigten Projekt auch gleich alle Gems löschen kann.

$ cd
$ rm -r myapp

Tabula rasa!

RVM

Mit RVM kann man verschiedene Ruby-Interpreter installieren und für seine Anwendungen konfigurieren. Wir unterstützen dies nicht weiter, da wir bereits mehrere Versionen des offiziellen Ruby-Interpreters bereitstellen. Solltest du einen anderen Interpreter benötigen, dann steht es dir natürlich frei, RVM zu installieren.

Probleme

Falls ein Gem nicht installiert werden kann, muss vermutlich für dieses eine besondere Konfiguration vorgenommen werden. Wie das geht, findest du unter ruby/problems.

Und jetzt?

Wenn du dich für Ruby interessierst, interessierst du dich vielleicht auch für das Ruby on Rails-Framework, zu dem wir dir eine eigene Seite bereitgestellt haben.

development/ruby.txt · Zuletzt geändert: 2016/09/05 15:15 von uber