Und noch einer. Wenn man mehr als eine Ruby-Umgebung braucht, führt kein Weg am RVM vorbei. Wozu man mehr als eine Ruby-Umgebung brauchen sollte?
Fluch und Segen in Ruby ist es meiner Ansicht nach, dass sich alles so rasend schnell weiter entwickelt (und nicht nur meiner Ansicht nach, wie ich heute in einem Gespräch mit einem Kommilitonen erfahren habe, bei dessen Arbeitsplatz man aus diesem Grunde wieder von Ruby weg möchte). Gerade über das Pakete-System RubyGems gibt es viele Plugins und Libraries, die von so vielen unterschiedlichen Teams und so sind schier unendliche Kombinationen von Gems und Versionen möglich. Dabei sind folgende Punkte problematisch:
- Gems für verschiedene Projekte können in unterschiedliche Versionen haben, und Kombinationen unterschiedlicher Gems in unterschiedlichen Versionen können zu Konflikten führen.
- Ruby ist nicht Abwärtskompatibel. Ein Upgrade des von Ruby führt meist ein erzwungenes Upgrad der Applikationen mit sich (ungünstig).
- Besonders stark ist Rails von der Ruby-Version abhängig und ebenfalls nicht abwärtskompatibel (ebenfalls ungünstig).
Was also tun, wenn man an zwei oder mehr unterschiedlichen Projekten mitarbeitet, die auf unterschiedliche Versionen setzten? Für OS X kommt noch eine weitere Schwierigkeit hinzu – hier ist Ruby standardmäßig installiert, da OS X selbst an einigen stellen Ruby-Code einsetzt – das kann nicht einfach auf eine neue Version gehoben werden.
Hier kommt RVM ins Spiel. Ich weiß übrigens leider nicht, wie das mit einer Windows-Version/Kompatibilität aussieht, aber ich kann mir nicht vorstellen, dass es sie gibt, da schon der Installationsprozess über die Konsole läuft. Eventuell mit Cygwin. Ansonsten: Wechselt halt auf ein besseres Betriebssystem 😛.