

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Rubydi AL2023
<a name="ruby"></a>

 [https://www.ruby-lang.org/en/](https://www.ruby-lang.org/en/)in AL2023 diwakili oleh versi 3.2 dan 3.4. Amazon Linux mengikuti jadwal dukungan hulu dan status dukungan dari Ruby versi apa pun selalu dapat diperiksa di situs web [Ruby](https://www.ruby-lang.org/en/). Semua Ruby versi yang didukung diberi namespace dan dapat diinstal pada sistem yang sama secara bersamaan. Namespacing memastikan bahwa setiap Ruby instalasi unik dalam sistem file. Ini dicapai dengan mengganti nama direktori dan file utama berdasarkan versi runtime. Nama yang dapat dieksekusi sebenarnya akan terlihat seperti *ruby {MAJOR.MINOR}* (misalnya, atau). `ruby3.2` `ruby3.4` Ruby3.4 juga menyediakan biner namespaced MRI (Matz's Ruby Interpreter)`ruby3.4-mri`, yang mengacu pada implementasi referensi berbasis C standar. Ruby Namun, hanya satu Ruby versi yang dapat aktif dalam satu waktu. Versi aktif ini menyediakan direktori default dan nama file, seperti *ruby*, *gem*, atau *bundle*, mengarahkannya ke runtime yang sedang aktif. 

 Ini dicapai dengan menggunakan kemampuan alat *alternatif*. Penting untuk diingat bahwa nama default yang dapat dieksekusi adalah virtual dan dapat berubah kapan saja ketika menunjuk ke versi terinstal yang berbeda. Ruby Fleksibilitas ini memungkinkan perangkat lunak yang menggunakan *ruby* di shebang untuk memilih versi yang diinginkan saat dipanggil. Namun, ketika versi tertentu Ruby diperlukan, persistensi versi dapat dicapai dengan memanggil executable namespaced (misalnya, `ruby3.2` atau`ruby3.4`), yang akan selalu menggunakan versi runtime yang ditentukan. Selain itu, executable namespace dari *gem* dan *bundler* tools, seperti,,, atau`ruby3.2-gem`, `ruby3.4-gem` selalu dikaitkan dengan Ruby versi yang sesuai`ruby3.4-bundler`, terlepas dari runtime yang saat ini aktif. `ruby3.2-bundler` 

 Rubydidistribusikan sebagai beberapa paket namespaced yang dimulai dengan "”. `ruby{MAJOR.MINOR}` Paket-paket ini menyediakan *ruby*, versi kompatibel dari alat *permata* dan *bundler*, dokumentasi, perpustakaan, dan banyak lagi. Misalnya, runtime inti Ruby 3.2 disediakan oleh `ruby3.2` paket, yang menarik `ruby3.2-rubygems` (menyediakan *permata*) dan `ruby3.2-rubygem-bundler` (menyediakan *bundel* dan *bundler*) sebagai dependensi. 

 Setelah menginstal Ruby versi, entri untuk alat pendamping dapat ditampilkan sebagai nol dalam konfigurasi *alternatif*. Ini dapat diverifikasi dengan menjalankan`alternatives --display ruby`. Jika entri muncul sebagai null, mereka harus terdaftar secara manual menggunakan. `alternatives --install` Misalnya, untuk mendaftarkan semua alat pendamping untuk Ruby 3.4: 

```
sudo alternatives --install /usr/bin/gem gem /usr/bin/ruby3.4-gem 34
sudo alternatives --install /usr/bin/bundle bundle /usr/bin/ruby3.4-bundle 34
sudo alternatives --install /usr/bin/bundler bundler /usr/bin/ruby3.4-bundler 34
sudo alternatives --install /usr/bin/erb erb /usr/bin/ruby3.4-erb 34
sudo alternatives --install /usr/bin/racc racc /usr/bin/ruby3.4-racc 34
sudo alternatives --install /usr/bin/rdoc rdoc /usr/bin/ruby3.4-rdoc 34
sudo alternatives --install /usr/bin/ri ri /usr/bin/ruby3.4-ri 34
```

 Nilai prioritas (misalnya, 34 untuk Ruby 3,4, 32 untuk Ruby 3,2) harus sesuai dengan prioritas yang digunakan dalam entri alternatif *ruby* utama. Setelah terdaftar, alat pendamping akan dikelola secara otomatis bersama alternatif *ruby*. 

 Alat *alternatif* menyediakan satu perintah untuk beralih antar Ruby versi. Secara default, *alternatif* dikonfigurasi untuk berada dalam mode auto, yang menggunakan prioritas untuk menentukan Ruby versi yang saat ini aktif. Namun, Anda dapat mengaktifkan versi yang diinstal kapan saja. Saat ini, semua versi yang didukung Ruby memiliki prioritas yang sama, artinya versi pertama yang diinstal akan diaktifkan secara otomatis. 

**Beberapa contoh berguna menggunakan *alternatif***

1. Periksa *alternatif* apa yang dikonfigurasi

   ```
   alternatives --list
   ```

1. Periksa *konfigurasi ruby* saat ini

   ```
   alternatives --display ruby
   ```

1. Ubah versi secara interaktif Ruby

   ```
   alternatives --config ruby
   ```

1. Beralih ke mode manual dan pilih versi tertentu

   ```
   alternatives --set ruby /usr/bin/ruby{MAJOR.MINOR}
   ```

1. Beralih kembali ke mode pemilihan versi auto

   ```
   alternatives --auto ruby
   ```