Πώς να διαχειριστείτε τις εκδόσεις Ruby

Η Ruby άλλαξε με την πάροδο του χρόνου

Η Ruby βρίσκεται σε συνεχή ανάπτυξη από τη δεκαετία του 1990. Και όπως πολλές γλώσσες, υπήρξαν αλλαγές σύνταξης σε όλες τις εκδόσεις. Αυτό σημαίνει ότι είναι σημαντικό να είστε σαφείς σχετικά με την έκδοση Ruby που αναμένει ο κώδικάς σας.

Πιθανώς η πιο ορατή αλλαγή ήρθε με τον Ruby 1.9. Προηγουμένως, γράψαμε κατακερματισμούς ως εξής:

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

Αυτή η χρήση του χειριστή «hashrocket» ( =>) ήταν τόσο συνηθισμένη, που ο Ruby 1.9 παρείχε συντομογραφία:

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

Αυτός ο παλαιότερος κώδικας θα εκτελεστεί σε οποιαδήποτε έκδοση, αλλά η νεότερη σύνταξη θα εκτελείται μόνο στο Ruby 1.9+.

Πώς προκαλεί προβλήματα;

Για παράδειγμα, ίσως έχετε αποφασίσει να χρησιμοποιήσετε ένα Gem που βασίζεται εσωτερικά σε χαρακτηριστικά Ruby 1.9. Αυτό σημαίνει ότι το πρόγραμμά σας στηρίζεται επίσης σε χαρακτηριστικά Ruby 1.9.

Εάν δεν καθορίσετε ποια έκδοση του Ruby χρειάζεται το έργο σας, μπορεί να είναι πολύ συγκεχυμένο όταν ο κώδικας λειτουργεί σε ένα μηχάνημα, αλλά όχι σε άλλο.

Όπως συμβαίνει με τις περισσότερες γλώσσες, θεωρείται καλή πρακτική να προσδιορίσετε την έκδοση του Ruby που αναμένει ο κώδικάς σας. Αυτό καθιστά πολύ ευκολότερη τη διαχείριση πολλών έργων στον υπολογιστή ανάπτυξης, το καθένα αναμένει μια διαφορετική έκδοση του Ruby.

Πώς μπορώ να καθορίσω την έκδοση Ruby;

Υπάρχουν μερικά εργαλεία που είναι δημοφιλή για αυτό, αλλά και οι δύο έχουν συμφωνήσει να μοιραστούν ένα κοινό αρχείο. Πολλά έργα Ruby (ή Rails) θα περιλαμβάνουν ένα απλό .ruby-versionαρχείο, το οποίο απλώς καθορίζει έναν αριθμό έκδοσης, για παράδειγμα:

2.4.2

Τα δημοφιλή εργαλεία που σας βοηθούν να διαχειριστείτε την έκδοση Ruby είναι:

  • Ruby Version Manager (RVM)
  • rbenv

Ας δούμε το RVM.

Χρήση RVM

Το RVM είναι συνήθως εγκατεστημένο (σύνδεσμος) σε μηχανή Linux, Unix ή MacOS. Είναι πολύ βολικό επειδή συνδέεται με την εντολή cd( change directory). Έτσι, όταν μετακινείστε σε ένα νέο έργο, η .ruby-versionανάγνωσή σας γίνεται αυτόματα και μεταβαίνετε αυτόματα στη σωστή έκδοση του Ruby πριν ξεκινήσετε να εργάζεστε.

Για παράδειγμα, μπορεί να έχετε αυτήν την ακολουθία:

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

(Αυτά τα παραδείγματα προέρχονται από μηχανή MacOS).

Άλλες πληροφορίες για το Ruby:

  • Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με το Ruby
  • Οι πιο συνηθισμένες μέθοδοι συστοιχιών Ruby που πρέπει να γνωρίζετε