A Ruby verziók kezelése

Ruby az idők folyamán megváltozott

A Ruby az 1990-es évek óta folyamatosan fejlődik. És sok nyelvhez hasonlóan itt is változtak a szintaxisok a verziók között. Ez azt jelenti, hogy fontos tisztázni, hogy a kód melyik Ruby verzióra számít.

Valószínűleg a legláthatóbb változás a 1.9-es Ruby-val történt. Korábban ilyen hasheket írtunk:

 { :one => 1, :two => 2, :three => 3 }

Ez a 'hashrocket' operátor ( =>) olyan gyakori volt, hogy a Ruby 1.9 rövidítést adott:

 { one: 1, two: 2, three: 3 }

Ez a régebbi kód bármely verzión futni fog, de az újabb szintaxis csak a Ruby 1.9+ verzión fut.

Hogyan okozhat ez problémákat?

Például eldönthette, hogy használ egy Gem-et, amely belsőleg támaszkodik a Ruby 1.9 szolgáltatásaira. Ez azt jelenti, hogy a projekt most is a Ruby 1.9 funkcióira támaszkodik.

Ha nem adja meg, melyik Ruby verzióra van szüksége a projektjének, akkor nagyon zavaró lehet, ha a kód az egyik gépen működik, a másikban nem.

A legtöbb nyelvhez hasonlóan jó gyakorlatnak tekinthető a Ruby azon verziójának megadása, amelyre a kód számít. Ez sokkal könnyebbé teszi több projekt kezelését a fejlesztőgépen, és mindegyik a Ruby különböző verziójára számít.

Hogyan adhatom meg a Ruby verziómat?

Van néhány eszköz, amely erre népszerű, de mindkettő beleegyezett abba, hogy megosztja a közös fájlt. Sok Ruby (vagy Rails) projekt tartalmaz egy egyszerű .ruby-versionfájlt, amely egyszerűen megadja a verziószámot, például:

2.4.2

Népszerű eszközök a Ruby verzió kezelésében:

  • Ruby Version Manager (RVM)
  • rbenv

Nézzük az RVM-et.

Az RVM használata

Az RVM rendszerint Linux, Unix vagy MacOS gépekre van telepítve (link). Nagyon kényelmes, mert bekapcsolódik a cd( change directory) parancsba. Tehát amikor új projektre lép, a .ruby-versionrendszer automatikusan elolvassa a dokumentumot, és a munka megkezdése előtt automatikusan a Ruby megfelelő verziójára vált.

Például ez a sorrend lehet:

% cd ~/projects/older-project % ruby --version ruby 2.3.5p376 (2017-09-14 revision 59905) [x86_64-darwin16] % cd ~/projects/newer-project % ruby --version ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin16]

(Ezek a példák egy MacOS gépről származnak).

Egyéb információ a Ruby-ról:

  • Bevezetés az objektumorientált programozáshoz Ruby-val
  • A leggyakoribb Ruby tömb módszerek, amelyeket tudnia kell