Berada di ujung tanduk dengan memasang Rails versi terbaru
Jika kamu seperti saya yang ingin mencoba kerangka kerja Rails versi terbaru dari ranting `master` di GitHub, ketahuilah bahwa opsi `--edge` pada perintah `rails new` sebenarnya tidak mengacu pada ranting `master` 😅.
Jika kamu seperti saya yang ingin mencoba kerangka kerja Rails versi terbaru dari ranting master
di GitHub, ketahuilah bahwa opsi --edge
pada perintah rails new
sebenarnya tidak mengacu pada ranting master
😅.
Saat ini, ranting master
untuk Rails adalah versi 6.0.0.beta3
. Sedangkan --edge
mengacu pada versi terbaru yang lebih stabil, yakni 5.2.2.1
.
Untuk memasang Rails versi paling berdarah-darah (bleeding edge), saya mesti mengkloning dari GitHub Rails terlebih dahulu.
$ git clone git@github.com:rails/rails.git
$ cd rails
$ bundle install
Namun saya gagal 💥 di langkah bundle install
karena pesan galat ini: extconf failure: need libxml2.
Oh, ternyata butuh libxml2
, jadi saya mesti memasangnya terlebih dahulu. Eh, ternyata Mac sudah memiliki libxml2
🤷♂️, lantas apa maksud pesan galat ini?
Ternyata Mac Mojave (10.14) telah memperbaharui
Xcode
yang mengakibatkanlibxml2
tidak dapat ditemukan oleh gemlibxml-ruby
. Singkat cerita, saya berhasil membetulkannya dengan mengikuti arahan dari dokumentasi tersebut.
Lanjut, saya kemudian membuat aplikasi Rails terbaru (rails-playground
) menggunakan binary dari repository Rails, bukan dari gem (pustaka):
$ ./railties/exe/rails new ../rails-playground --dev
Pada berkas GemFile
bisa dilihat bahwa gem Rails mengacu pada direktori lokal: gem 'rails' path: '/jalan/ke/direktori/rails'
. Ini berarti bahwa setiap pembaruan pada https://github.com/rails/rails, kita tinggal melakukan menarik dengan git pull
dan kemudian melakukan bundle install
. Tidak perlu menunggu rilis di https://rubygems.org.
Mengapa memasang versi yang tidak stabil?
Langkah awal untuk melakukan kontribusi di proyek kode sumber terbuka adalah dengan memasang versi terbaru. Versi terbaru yang dirilis di publik tidak selalu stabil.
Dalam dokumentasinya, Rails memberikan dua opsi untuk memasang Rails --dev
:
- cara mudah: menggunakan Vagrant untuk menciptakan Virtual Machine
- cara keji: seperti yang saya coba lakukan ini 😅, namun saya baru tahap pembuatan aplikasi saja, belum sampai testing
Tidak semua proyek kode sumber terbuka memiliki langkah sekompleks ini. Dalam kasus Rails, hal ini terjadi karena Rails sebenarnya adalah sebuah gem yang dirilis di sebuah web pengelola gem: rubygems.org. Seringkali gem yang rilis di sana tertinggal kode sumbernya (GitHub). Inilah mengapa instalasi yang lebih masih sering dilakukan.
Tidak hanya untuk kontribusi saja, dari pembuatan aplikasi Rails ini, saya mempelajari bahwa ternyata ada perubahan dibandingkan versi sebelummya (5.2). Di versi 6 ini:
webpacker
langsung terpasang denganyarn
coffeescript-rails
tidak ada lagi, kamu tetap bisa memanggilnya kembali denganyarn
Ini menjadi bekal yang cukup untuk memutakhirkan aplikasi Rails yang saya kelola 💯.