Ist es wirklich empfehlenswert, Ruby auf Produktionsservern aus dem Quellcode zu erstellen?

Ist es wirklich empfehlenswert, Ruby auf Produktionsservern aus dem Quellcode zu erstellen?

Ich habe überall Leute gesehen, die RVM/rbenv verwenden, um die aktuellste Version von Ruby unter Linux zu installieren. Bei der Entwicklung verstehe ich, dass dies in Ordnung sein kann, aber ich kann nicht verstehen, warum ich dies auf einem Produktionsserver tun sollte, anstatt die Ruby-Version im Paketmanager der Distribution zu verwenden.

Gibt es Nachteile bei der Verwendung der aktuellsten Version von Rails (4.2) mit der Ruby-Version des Debian-Paketmanagers (derzeit 2.1)?

Meine Ziele bestehen darin, so stabil und sicher wie möglich zu sein. Der glänzende neue Kram ist mir egal.

Antwort1

Für Entwickler ist es sehr einfach, zwischen Ruby-Versionen zu wechseln, daher neigen Ruby-Entwickler dazu, das letzte neue Feature zu verwenden, das in dem Monat herausgekommen ist, in dem sie mit der Programmierung beginnen.

Außerdem ist Ruby so aktiv und so jung, dass es viele Dinge gibt, die mit dem standardmäßig gepackten Ruby einfach nicht funktionieren.

Sie können Ihre Entwickler also fragen, ob sie die Dinge mit dem Debian-Standard-Ruby am Laufen halten können (die Lebensweise eines Sysadmins) oder mit ihnen zusammenarbeiten, um zu versuchen, dessen Anforderungen zu erfüllen (die Lebensweise eines DevOps).

Wenn Sie den Weg des guten Karmas und der härteren Arbeit wählen, können Sie mit rbenv / rvm-Zeug in der Produktion kämpfen (ich mag das wirklich nicht, aber es ist persönlich) oder Sie können einfach das gewünschte Ruby in einem /lokalen/ Pfad erstellen mitRuby-Build - Übersetzung für "Ruby Build" im Deutschund verhindern Sie, dass das Paketsystem von Debian jemals Ruby oder ähnliche Software installiert.

Sie können auch unbekannte Pakete für moderne Rubine findenwie die in BrightBoxoder verpacken Sie es selbst.

Inoffizielle Rubine (für die Debian-Version) sind sicher, stabil und schneller als ihre älteren offiziellen Alternativen, solange es sich um stabile Ruby-Versionen handelt.

verwandte Informationen