Cum să vă gestionați versiunile Ruby

Ruby s-a schimbat de-a lungul timpului

Ruby a fost în continuă dezvoltare încă din anii '90. Și, ca multe limbi, au existat modificări ale sintaxei între versiuni. Aceasta înseamnă că este important să fie clar despre ce versiune Ruby se așteaptă codul dvs.

Probabil că cea mai vizibilă schimbare a venit cu Ruby 1.9. Anterior, am scris hashes astfel:

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

Această utilizare a operatorului „hashrocket” ( =>) a fost atât de obișnuită, încât Ruby 1.9 a furnizat o scurtătură:

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

Acest cod mai vechi va rula pe orice versiune, dar sintaxa mai nouă va rula doar pe Ruby 1.9+.

Cum cauzează acest lucru probleme?

De exemplu, s-ar putea să fi decis să utilizați o Gemă care se bazează intern pe caracteristicile Ruby 1.9. Aceasta înseamnă că proiectul dvs. se bazează acum și pe caracteristicile Ruby 1.9.

Dacă nu specificați ce versiune de Ruby are nevoie de proiectul dvs., poate fi foarte confuz atunci când codul funcționează pe o mașină, dar nu pe alta.

La fel ca în majoritatea limbilor, este considerată o bună practică să specificați versiunea de Ruby la care se așteaptă codul dvs. Acest lucru face mult mai ușor să gestionați mai multe proiecte pe mașina dvs. de dezvoltare, fiecare așteptând o versiune diferită a Ruby.

Cum îmi specific versiunea Ruby?

Există câteva instrumente care sunt populare pentru acest lucru, dar ambele au fost de acord să împărtășească un fișier comun. Multe proiecte Ruby (sau Rails) vor include un .ruby-versionfișier simplu , care specifică pur și simplu un număr de versiune, de exemplu:

2.4.2

Instrumentele populare care vă ajută să vă gestionați versiunea Ruby sunt:

  • Ruby Version Manager (RVM)
  • rbenv

Să ne uităm la RVM.

Folosind RVM

RVM este de obicei instalat (link) pe o mașină Linux, Unix sau MacOS. Este foarte convenabil, deoarece se conectează la comanda cd( change directory). Deci, atunci când treceți la un proiect nou, dvs. .ruby-versioneste citit automat și veți trece automat la versiunea corectă a Ruby înainte de a începe să lucrați.

De exemplu, este posibil să aveți această secvență:

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

(Aceste exemple provin dintr-o mașină MacOS).

Alte informații despre Ruby:

  • O introducere în programarea orientată pe obiecte cu Ruby
  • Cele mai comune metode de matrice Ruby pe care ar trebui să le cunoașteți