Verwenden Sie RVM. Weil es einfacher ist.
Sie haben alle Distributionen an einem Ort und alle Edelsteine an einem Ort, und Sie verwenden dasselbe Werkzeug, das Sie in der Entwicklung verwenden. Es gibt auch keine Leistungsprobleme.
Einfachheit wird immer belohnt.
Rvm ist ein Entwicklungswerkzeug. Da Sie Ruby-Versionen nicht dynamisch auf einem Produktionsserver hin- und herwechseln, kann dies nichts Gutes bewirken und könnte zu willkürlichen Ebenen von Schmerz und Leid führen.
Update: Ok, wir haben einige exzellente Kommentare und wissen jetzt mehr. Zum einen war rvm in der Tat ein Produktionswerkzeug. (Wer hätte das gedacht?) Es sieht so aus, als wenn eine Anwendung ihre eigene Edelsteinumgebung nicht bündelt, rvm tut dies auf Systemebene, und das könnte nützlich sein.
Also gibt es wahrscheinlich keine einzige Antwort auf diese Frage. Wenn nur eine Anwendung auf dem Server ausgeführt wird oder wenn alle Serveranwendungen beispielsweise Rails3 sind, wird rvm nicht benötigt. Andere Szenarien werden jedoch vom Umweltmanagement profitieren.
Verwenden Sie RVM, da Ihre Anwendung genau das hat, was sie benötigt, und Systemaktualisierungen nicht stören oder Ihre Anforderungen ändern. Ein Host, den ich eingerichtet habe, hatte eine Distributionsversion von 1.8, aber ich wollte für 1.9.2 entwickeln. Anstatt die Distributionsversion zu unterbrechen, lässt RVM eine benutzerdefinierte Version laufen. RVM spielt auch gut mit der Passagierphysik für Schieneneinsätze.
Kompilieren Sie Ihre eigenen Ruby und MongoDB, PostgreSQL, MySQL, Redis und alle anderen unterstützenden Tools, auf die Sie sich verlassen. Auf diese Weise erhalten Sie die volle Kontrolle über die überall verwendeten Versionen und Sie können alle erforderlichen Sicherheits- oder Fehlerbehebungsupgrades nach Belieben anwenden, ohne auf die Bereitstellung von Systemupdates und Patches durch Ihren Betriebssystemanbieter warten zu müssen. Durch das Kompilieren der eigenen Informationen können Sie außerdem sicherstellen, dass Ihre Entwicklungs-, Bereitstellungs- und Produktionsumgebungen alle die gleichen Versionen von allem verwenden, was Sie benötigen.
Wenn Sie mithilfe von RVM Ihre eigene Toolchain erstellen können, verwenden Sie RVM. In jedem Fall hinterlässt die Verwendung der vom System bereitgestellten Tools häufig einige Versionen und lässt Sie hängen, wenn Sie kritische Patches anwenden müssen.