RubyGems এবং Bundler এর পরিচিতি

Ruby ইন্সটলেশন এবং সেটআপ (Installing and Setting Up Ruby) - রুবি প্রোগ্রামিং (Ruby Programming) - Computer Programming

321

RubyGems এবং Bundler রুবি প্রোগ্রামিং ভাষার দুটি গুরুত্বপূর্ণ টুল, যা ডেভেলপারদের লাইব্রেরি ব্যবস্থাপনা এবং প্রজেক্টে ডিপেনডেন্সি পরিচালনা করতে সহায়তা করে। এগুলি রুবির এক্সটেনশন এবং প্যাকেজ ব্যবস্থাপনা সিস্টেম হিসেবে কাজ করে, যাতে ডেভেলপাররা সহজে লাইব্রেরি ইনস্টল, আপডেট, এবং ম্যানেজ করতে পারেন।


১. RubyGems এর পরিচিতি

RubyGems হল রুবি প্রোগ্রামিং ভাষার জন্য প্যাকেজ ম্যানেজার, যা রুবি লাইব্রেরি এবং সফটওয়্যার প্যাকেজের ইনস্টলেশন, আপডেট, এবং ম্যানেজমেন্টের জন্য ব্যবহৃত হয়। RubyGems একটি সেন্ট্রাল ডিপোজিটরি, যেখানে ডেভেলপাররা তাদের তৈরি করা রুবি লাইব্রেরি বা জেম (gem) আপলোড করতে পারেন, এবং অন্যরা সেগুলি ডাউনলোড ও ব্যবহার করতে পারেন।

RubyGems এর মূল ফিচার:

  • জেম (Gem) ফাইল: একটি রুবি জেম (gem) হল একটি প্যাকেজ যা রুবি কোড এবং তার ডিপেনডেন্সির সমন্বয়ে তৈরি। এটি একটি ছোট ফাইল, যা রুবি লাইব্রেরি, অ্যাপ্লিকেশন বা টুলসকে অন্তর্ভুক্ত করতে পারে।
  • গেমস ইনস্টলেশন: gem install কমান্ড ব্যবহার করে রুবি লাইব্রেরি বা প্যাকেজ ইনস্টল করা হয়।
  • ডিপেনডেন্সি ম্যানেজমেন্ট: রুবি জেমস যেকোনো রুবি অ্যাপ্লিকেশন বা লাইব্রেরির ডিপেনডেন্সি (অন্য লাইব্রেরি বা প্যাকেজ) ম্যানেজ করতে সাহায্য করে।
  • কমান্ড লাইনের টুল: RubyGems কমান্ড লাইনের টুল (যেমন gem install, gem update, gem list ইত্যাদি) প্রদান করে, যার মাধ্যমে জেম ইনস্টল, আপডেট বা অপসারণ করা যায়।

RubyGems এর ব্যবহার:

  1. জেম ইনস্টলেশন:

    gem install rails
  2. ইনস্টল করা জেমের তালিকা দেখতে:

    gem list
  3. জেম আপডেট করতে:

    gem update rails
  4. জেম আনইনস্টল করতে:

    gem uninstall rails

২. Bundler এর পরিচিতি

Bundler হল একটি রুবি ডিপেনডেন্সি ম্যানেজার যা রুবি প্রজেক্টে সমস্ত লাইব্রেরি এবং তাদের ডিপেনডেন্সি ঠিকভাবে ম্যানেজ করে। এটি RubyGems এর সাথে কাজ করে, তবে Bundler মূলত প্রজেক্ট-ভিত্তিক ডিপেনডেন্সি ম্যানেজমেন্টের জন্য তৈরি করা হয়েছে।

Bundler এর মূল ফিচার:

  • Gemfile: Bundler একটি Gemfile ফাইলের মাধ্যমে প্রজেক্টের সমস্ত ডিপেনডেন্সি (লাইব্রেরি) ম্যানেজ করে। Gemfile এ আপনার প্রজেক্টের জন্য প্রয়োজনীয় সমস্ত জেমের নাম এবং সংস্করণ উল্লেখ থাকে।
  • Gemfile.lock: এটি একটি লক ফাইল যা ডিপেনডেন্সির নির্দিষ্ট সংস্করণ সন্নিবেশিত রাখে, যাতে প্রজেক্টের অন্য সদস্যরা বা পরিবেশেও একই লাইব্রেরি সংস্করণ ব্যবহৃত হয়।
  • ডিপেনডেন্সি ইনস্টলেশন: bundle install কমান্ড ব্যবহার করে একসাথে সমস্ত লাইব্রেরি ইনস্টল করা যায়, যা Gemfile এবং Gemfile.lock এ উল্লেখিত থাকে।
  • ডিপেনডেন্সি আপডেট: bundle update কমান্ড ব্যবহার করে আপনি আপনার প্রজেক্টের ডিপেনডেন্সির সংস্করণ আপডেট করতে পারেন।

Bundler এর ব্যবহার:

  1. Gemfile তৈরি করা:
    আপনার প্রজেক্ট ডিরেক্টরির মধ্যে একটি Gemfile তৈরি করুন এবং এতে আপনার প্রয়োজনীয় জেমগুলি উল্লেখ করুন।

    source 'https://rubygems.org'
    
    gem 'rails', '~> 6.0.3'
    gem 'pg', '~> 1.1'
    gem 'puma', '~> 4.1'
  2. ডিপেনডেন্সি ইনস্টলেশন:
    একটি প্রজেক্টের জন্য সমস্ত লাইব্রেরি ইনস্টল করতে:

    bundle install
  3. ডিপেনডেন্সি আপডেট করা:
    সমস্ত লাইব্রেরি বা নির্দিষ্ট একটি লাইব্রেরি আপডেট করতে:

    bundle update
  4. প্রোজেক্ট রান করা:
    bundle exec কমান্ড ব্যবহার করে নির্দিষ্ট জেমের সাথে প্রোগ্রাম রান করুন:

    bundle exec rails server

RubyGems এবং Bundler এর মধ্যে পার্থক্য

বৈশিষ্ট্যRubyGemsBundler
ব্যবহাররুবি প্যাকেজ বা লাইব্রেরি ইনস্টল এবং ম্যানেজ করার জন্যপ্রজেক্ট-ভিত্তিক ডিপেনডেন্সি ম্যানেজমেন্ট
কম্যান্ডgem install, gem update, gem listbundle install, bundle update, bundle exec
প্রয়োজনীয়তাসাধারণ লাইব্রেরি ইনস্টলেশনের জন্যএকাধিক ডিপেনডেন্সি এবং তাদের নির্দিষ্ট সংস্করণ ম্যানেজ করতে
ফাইলGemfile নেইGemfile এবং Gemfile.lock ব্যবহার
লক্ষ্যএকক লাইব্রেরি বা জেম ইনস্টল করাপ্রজেক্টের জন্য সমস্ত ডিপেনডেন্সি ইনস্টল এবং লক করা

সারসংক্ষেপ

RubyGems হল রুবি ভাষার প্যাকেজ ম্যানেজার যা লাইব্রেরি ইনস্টল এবং ম্যানেজ করতে সাহায্য করে, এবং Bundler রুবি প্রজেক্টে ডিপেনডেন্সি ম্যানেজমেন্টের জন্য ব্যবহৃত হয়। RubyGems সাধারণত একক লাইব্রেরি ইনস্টল করতে ব্যবহৃত হয়, তবে Bundler প্রজেক্টে ডিপেনডেন্সির নির্দিষ্ট সংস্করণ ঠিকভাবে ইনস্টল এবং ম্যানেজ করার জন্য ব্যবহার হয়। RubyGems এবং Bundler একে অপরের সঙ্গে কাজ করে প্রজেক্ট ডেভেলপমেন্টের জন্য কার্যকরী ডিপেনডেন্সি ম্যানেজমেন্ট ব্যবস্থা সরবরাহ করে।

Content added By
Promotion

Are you sure to start over?

Loading...