Ruby Dependency Management
Semua server aplikasi berbasis Ruby (Apache dan NGINX) disediakan dengan pengelola ketergantungan Bundler secara default. Bundler secara otomatis melacak dan menginstal ketergantungan yang diperlukan oleh aplikasi Anda. Anda hanya perlu menentukan daftar gem yang diperlukan dalam Gemfile, yang akan menyelesaikan semua ketergantungan.
Bundler melakukan penyelesaian ketergantungan dalam kasus berikut:
Setelah salah satu tindakan yang disebutkan di atas, Bundler mencari ketergantungan yang terdaftar di file konfigurasi dalam RubyGems.org (layanan hosting gem komunitas Ruby) dan, jika diperlukan, menginstalnya. Secara default, server aplikasi Ruby hanya disediakan dengan gem yang diperlukan untuk aplikasi contoh.
Gemfile mendukung deklarasi versi non-ketat (misalnya, lebih besar dari versi tertentu, “jquery-rails”, “~ > 2.0.2”). Dalam kasus seperti itu, Bundler akan mengunduh dan menginstal versi terbaru dari gem yang bersangkutan pada setiap tindakan penyelesaian ketergantungan.
Selain itu, jika aplikasi Anda menggunakan ketergantungan khusus (non-publik), Anda perlu menentukan URL repository mereka di Gemfile. Dengan cara ini, Bundler akan dapat mengunduh dan menginstal gem tersebut.
Ketika mengulang deployment environment Ruby, pastikan bahwa versi engine baru tercakup dengan benar dalam Gemfile. Jika tidak, Anda akan mendapatkan kesalahan ketidaksesuaian setelah prosesnya. Kami merekomendasikan untuk menggunakan deklarasi versi Ruby yang tidak ketat dalam Gemfile Anda, misalnya ruby “~> 2.6.0”. Bentuk fleksibel seperti itu mencegah Anda dari mengganggu proses deployment atau CI Anda sambil memungkinkan peningkatan versi Ruby Anda.