GNU/Linux >> Belajar Linux >  >> Linux

Cara:Menggunakan Bundler Untuk Mengelola Permata Ruby

Pengantar

Seiring pertumbuhan aplikasi Ruby, jumlah perpustakaan eksternal yang digunakan aplikasi ini dapat bertambah pada tingkat yang sama—jika tidak lebih cepat, dalam beberapa kasus. Pertumbuhan ini dapat menimbulkan masalah ketika permata menginstal dependensinya. Jika dua permata bergantung pada versi berbeda dari perpustakaan yang sama, maka menginstal kedua permata berisiko membuat skenario kesalahan karena ketidakcocokan permata. Bundler, permata Ruby, memberi Anda cara mudah untuk mengelola permata ini dan menghindari konflik, memungkinkan Anda untuk fokus pada kode aplikasi Anda daripada memecahkan masalah dengan pustaka dukungan..

Prasyarat

  • Versi Ruby – 2.2.1 atau lebih baru

Catatan:artikel ini menggunakan vim untuk mengedit teks. Ganti "vim" dengan editor pilihan Anda jika Anda lebih suka menggunakan alat pengeditan teks yang berbeda. (Dan jika Anda secara tidak sengaja menemukan diri Anda terjebak dalam vim, berikut adalah beberapa tips untuk membantu Anda melepaskan diri.)

.

Mengelola Interdependensi Kompleks

Saat aplikasi Anda semakin kompleks, Anda mungkin melihat konflik versi di kumpulan permata aplikasi Anda. Konflik ini dapat mencegah aplikasi Anda berfungsi dengan benar karena jumlah permata yang Anda gunakan–dan jumlah interdependensi permata–bertambah. Anda mungkin mempertimbangkan untuk menggunakan RVM dengan cara yang lebih ketat, tetapi solusi ini hanya memberi Anda kesempatan untuk mengontrol versi Ruby saat ini dan permata yang terkait–ini tidak menangani masalah ketergantungan permata, yang dapat terjadi di antara versi permata yang berbeda menggunakan versi dasar yang sama dari bahasa Ruby. Menelusuri dependensi semua permata untuk menemukan konflik ini dan mengunduh versi permata yang kompatibel adalah proses yang panjang dan membosankan. Untungnya, kita dapat menggunakan permata Bundler untuk mengelola kumpulan permata kita dan menghilangkan dugaan penggunaan perpustakaan bersama.
.

Memasang Bundler untuk Mengelola Permata

Untuk memulai Bundler, pertama-tama kita harus menginstal permata:

gem install bundler

Catatan, beberapa versi Ruby mungkin menggunakan formulir gem2.2 install bundler .

Perintah ini menginstal Bundler ke dalam lingkungan eksekusi Ruby saat ini. Selanjutnya, Anda perlu membuat Gemfile untuk mengelola permata aplikasi Anda. Tambahkan file baru di direktori root aplikasi Anda dan buka untuk diedit:

vim Gemfile

Catatan:Bundler, secara default, mencari nama file Gemfile , dikapitalisasi persis seperti yang ditunjukkan. Ini akan gagal, misalnya, jika Anda menamai file Anda gemfile .

Anda dapat menambahkan permata Anda pada saat ini, atau membiarkan file kosong jika Anda tidak memiliki dependensi permata eksternal. Bundler menggunakan Gemfile ini saat mengunduh dan memasang permata untuk aplikasi Anda.
.

Anatomi Gemfile

Gemfile memberi Anda banyak cara berbeda untuk mengelola kumpulan permata aplikasi Anda. Anda dapat, misalnya, menentukan sumber permata baru di Gemfile Anda, yang akan dicari saat menjalankan instalasi:

source 'https://rubygems.org'

Anda dapat dengan mudah menambahkan dependensi permata baru dengan meletakkannya di baris individual, didahului dengan kata gem . Misalnya, baris berikut menentukan nokogiri sebagai dependensi permata untuk aplikasi Anda:

gem 'nokogiri'

Anda juga dapat menentukan versi permata tertentu dengan menggunakan sintaks RubyGems yang sudah dikenal. Baris berikut menambahkan permata Rails, tetapi membatasinya ke Rails versi 3.0.0.beta3:

gem 'rails', '3.0.0.beta3'

Anda juga dapat menentukan grup permata yang hanya berjalan di lingkungan tertentu. Misalnya, blok berikut menginstal rspec , guard , dan factory_girl ketika lingkungan Rails adalah test atau development :

group :test, :development do
    gem 'rspec'
    gem 'guard'
    gem 'factory_girl'
end

Contoh-contoh ini hanyalah permulaan. Ada sejumlah fitur berguna lainnya dari Gemfile di bundler.io.
.

Menginstal Semua Permata Dengan Bundler

Setelah Anda mengisi Gemfile Anda dengan permata untuk dipasang, Anda dapat menginstal semua permata lingkungan Anda saat ini dengan perintah berikut:

bundle install

Perintah ini mem-parsing Gemfile Anda dan melacak semua permata yang ditunjukkan dari sumber yang tersedia baik di sistem Anda maupun di Gemfile itu sendiri. Ini memeriksa semua permata untuk dependensi bersama, dan kemudian menghasilkan file baru (Gemfile.lock ) yang berisi semua permata yang kompatibel dan versinya. Akhirnya, ia bergerak melalui Gemfile.lock yang dibuat file, menginstal setiap permata yang relevan. Setelah selesai, permata aplikasi Anda akan tersedia untuk digunakan dalam kode aplikasi Anda.
.

Perintah Bundler Berguna Lainnya

Selain menghilangkan semua sakit kepala dalam mengelola permata dengan dependensi bersama, Bundler juga memberi Anda beberapa alat lain yang dapat digunakan untuk mengelola kumpulan permata aplikasi Anda. Berikut adalah beberapa contoh perintah yang mungkin berguna bagi Anda selama pengembangan:

Untuk memperbarui semua permata di Gemfile ke versi terbaru yang kompatibel:

bundle update

Di lingkungan produksi, alih-alih menyelesaikan permata secara dinamis dari semua sumber yang tersedia, Anda mungkin ingin menginstal hanya permata yang ditentukan di Gemfile.lock.

bundle install --deployment

Untuk menjalankan perintah dalam konteks Gemfile aplikasi:

bundle exec XXXX

Tanpa penambahan bundle exec , perintah XXXX akan dijalankan dalam konteks Ruby sistem, yang mungkin berisi permata yang tidak kompatibel.

Anda dapat meninjau perintah lain yang tersedia, dan tujuan penggunaannya, di sini.
.

Kesimpulan

Masalah umum di antara bahasa pemrograman adalah konsep "neraka ketergantungan", yang muncul ketika dua atau lebih perpustakaan pihak ketiga bergantung pada versi berbeda dari perpustakaan bersama yang sama. Bundler memberi pengembang Ruby alat yang mudah digunakan untuk menginstal dan mengelola kumpulan permata yang kompleks. Ini membantu untuk menyelesaikan semua masalah ketergantungan dan memberi Anda catatan kompatibilitas untuk semua dependensi aplikasi Anda. Melalui penggunaan Bundler, Anda dapat dengan cepat menyelesaikan konflik pada permata yang Anda konsumsi, dan kembali mengerjakan inti dari kode aplikasi Anda.

Atlantic.Net

Atlantic.net menawarkan hosting VPS serta layanan hosting terkelola yang mencakup lapisan layanan terkelola penting bisnis untuk paket hosting Anda. Hubungi kami hari ini untuk informasi lebih lanjut.

.
.


Linux
  1. Raspberry Pi Firewall:Cara Menginstal dan Mengelolanya dengan Menggunakan UFW

  2. Cara Mengelola File Log Menggunakan Logrotate Di Linux

  3. Bagaimana Mengelola Izin Flatpak Secara Grafis Menggunakan Flatseal

  1. Cara Mengelola Paket NodeJS Menggunakan Npm

  2. Cara:Menambahkan Permata Ruby dan Sumber Permata

  3. Cara Install Ruby Gems di cPanel

  1. Cara Mengelola Host Windows Jarak Jauh menggunakan Ansible

  2. Cara Mengelola Kontainer Docker menggunakan Portainer di Ubuntu

  3. Cara Membuat Server Surat Berfitur Lengkap menggunakan Pos