Cílové publikum:
Tento článek má být užitečný pro každého, kdo potřebuje nasadit – nebo spravovat – více instalací Ruby na jednom počítači. Čtenář by měl mít základní představu o tom, jak Ruby a Ruby drahokamy fungují v operačním systému.
Úvod
Obrázek:Logo Ruby od Yukihiro Matsumoto, tým Ruby Visual Identity / licencováno pod CC BY-SA 2.5
Správa více prostředí Ruby může být výzvou. Ruby je jazyk s otevřeným zdrojovým kódem, takže nové verze mohou být časté a tato vydání mohou zavádět drastické změny funkcí. Spojte tento potenciál s použitím drahokamů třetích stran, které mohou záviset na funkčnosti v konkrétních verzích Ruby, a vaše aplikace se může rychle ocitnout v problémech se splněním všech závislostí, které potřebuje k provedení. RVM (střídavě rozšířené jako Ruby enVironment Manager nebo Ruby Version Manager) řeší tento problém přímo tím, že poskytuje sadu nástrojů příkazového řádku, které vám umožňují aktivně ovládat nejen verzi Ruby, kterou vaše aplikace používá, ale také sady a verze drahokamů. používá. Níže probereme, co je RVM, a dotkneme se všech výhod, které nabízí.
.
Správa více prostředí Ruby
RVM umožňuje nainstalovat více verzí programovacího jazyka Ruby na jeden stroj. Nativní instalace programovacího jazyka Ruby nainstaluje binární soubory jazyka do společného bin
adresář v operačním systému; takže jakákoli změna těchto nainstalovaných binárních souborů ovlivní všechny aplikace Ruby hostované na počítači. Dokonce i relativně malá zvýšení verzí – například z 2.1.4 na 2.2.1 – mohou zavést změny jazyka, které naruší stávající chování jazyka.
.
RVM vám umožňuje izolovat tyto jazykové binární soubory do samostatně spravovaných prostředí, která lze ve vašem systému libovolně používat. Této izolace dosahuje zapouzdřením každé instalace do samostatné sady adresářů a závislostí a poskytováním snadno použitelných nástrojů příkazového řádku pro rychlé přepínání mezi verzemi. RVM zajišťuje výměnu všech relevantních cest provádění, proměnných prostředí a nainstalovaných knihoven třetích stran, což vývojářům umožňuje soustředit se na vývoj aplikací namísto správy jejich závislostí.
.
Proč je RVM důležitý?
Pro jednu malou aplikaci se RVM může zdát přehnané. Jakmile však kódová základna dosáhne určité úrovně složitosti, může být náročné přesně sledovat, na které závislosti aplikace spoléhá. Kromě toho, jak aplikace roste a využívá různé Ruby Gems, mohou tyto knihovny třetích stran zavádět další závislosti, takže změna jednoduché verze je složitá událost plná nebezpečí. Například vydání verze 2.1.0 přineslo přelomovou změnu v analyzátorech REXML, které mnoho drahokamů používá k poskytování funkcí SOAP. Tato úvaha je také zásadní pro webové servery hostované VPS, které mohou hostit více aplikací Ruby najednou (jako je server zpožděných úloh založený na Resque, webový server postavený na Rails a administrátorská konzole založená na Sinatře). Získání několika různých aplikací s několika různými sadami závislostí, které se chovají správně, může být samo o sobě prací na plný úvazek. Zapouzdřením různých jazykových verzí Ruby do samostatných prostředí umožňuje RVM vývojářům testovat nové verze, nasazovat stávající aplikace bez obav z porušení změn a zajistit, aby správa aplikační infrastruktury zabrala co nejkratší dobu.
.
Řešení konfliktů závislostí
Nejviditelnějším přínosem získaným použitím RVM je správa závislostí. Zapouzdřením instalací programovacího jazyka Ruby do samostatných prostředí řízených příkazovým řádkem můžete snadněji ovládat závislosti na verzích. RVM ve spojení s rámcem pro správu drahokamů, jako je Bundler, může učinit konflikty závislostí založené na jazyku minulostí – stačí si ověřit, že existuje verze drahokamu, se kterou pracujete a která je kompatibilní s vaší aktuální instalací. Kromě toho vám použití RVM umožňuje mít jistotu, že budou nainstalovány pouze drahokamy, které potřebujete. Každé prostředí Ruby spravované RVM má svou vlastní sadu drahokamů, a proto nedochází ke křížové kontaminaci mezi aplikacemi, které mohou používat drahokamy, které ovlivňují samotné spouštěcí prostředí Ruby.
.
Zjednodušení nasazení
Kromě zmírnění změn a řešení konfliktů závislostí může RVM usnadnit proces nasazení aplikací Ruby. RVM nabízí funkce jako „Named Gemsets“, které vám umožňují rychle a snadno určit závislosti pro vaši aplikaci Ruby. Kromě toho Ruby používá sdílenou mezipaměť verzí drahokamů, což snižuje celkový prostor na disku využívaný vaším nasazením Ruby. A konečně, RVM se snaží zajistit, aby všechny uvedené závislosti byly obsaženy výhradně v uživatelském prostoru, což snižuje bezpečnostní rizika a odstraňuje nutnost spouštět vaši aplikaci jako uživatel root.
.
Závěr
Výše uvedený článek pouze poškrábe povrch funkčnosti, kterou nabízí RVM. Použitím RVM ke správě prostředí vaší aplikace můžete zmírnit problémy s nasazením, zmírnit problémy s upgradem a vytvořit spolehlivou sadu závislostí pro vaši aplikaci Ruby. Ve spojení s nástroji, jako je Bundler, dělá RVM instalaci, spouštění a správu aplikací Ruby jednoduchým a efektivním procesem.
Atlantic.Net
Nabízíme mnoho aplikací pro instalaci hostovaných VPS jediným kliknutím, které také nabízejí jednoduchý a efektivní proces. Máme mnoho oblíbených aplikací, jako je WordPress, cPanel Hosting a Docker Hosting.
.