Kako upravljati svojim verzijama Ruby

Ruby se s vremenom promijenila

Ruby je u stalnom razvoju od 1990-ih. I kao i mnogi jezici, došlo je do promjene sintakse u različitim verzijama. To znači da je važno biti jasan koju Ruby verziju očekuje vaš kôd.

Vjerojatno najvidljivija promjena dogodila se s Rubyjem 1.9. Prethodno smo napisali ovakve hashove:

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

Ova upotreba operatora 'hashrocket' ( =>) bila je toliko česta da je Ruby 1.9 dao kraticu:

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

Ovaj će se stariji kôd izvoditi na bilo kojoj verziji, ali novija će se sintaksa izvoditi samo na Ruby 1.9+.

Kako to uzrokuje probleme?

Na primjer, možda ste odlučili koristiti dragulj koji se interno oslanja na značajke Ruby 1.9. To znači da se vaš projekt sada također oslanja na značajke Ruby 1.9.

Ako ne navedete koju verziju Rubyja treba vaš projekt, može biti vrlo zbunjujuće kada kod radi na jednom stroju, ali ne i na drugom.

Kao i kod većine jezika, smatra se dobrom praksom navesti verziju Rubyja koju vaš kôd očekuje. To olakšava upravljanje višestrukim projektima na vašem razvojnom stroju, od kojih svaki očekuje različitu verziju Rubyja.

Kako odrediti svoju verziju Ruby?

Postoji nekoliko alata koji su popularni za to, ali oba su se složila podijeliti zajedničku datoteku. Mnogi projekti Ruby (ili Rails) sadržavat će jednostavnu .ruby-versiondatoteku koja jednostavno navodi broj verzije, na primjer:

2.4.2

Popularni alati koji će vam pomoći u upravljanju verzijom Ruby su:

  • Ruby Version Manager (RVM)
  • rbenv

Pogledajmo RVM.

Korištenje RVM-a

RVM se obično instalira (veza) na Linux, Unix ili MacOS stroju. Vrlo je prikladno jer se zakači za naredbu cd( change directory). Dakle, kad prijeđete na novi projekt, vaš .ruby-versionse automatski čita i automatski se prebacujete na ispravnu verziju Rubyja prije nego što počnete raditi.

Na primjer, možda imate ovaj slijed:

% 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]

(Ovi su primjeri s računala MacOS).

Ostale informacije o Ruby:

  • Uvod u objektno orijentirano programiranje s Rubyjem
  • Najčešće metode Ruby polja koje biste trebali znati