External Dependencies এবং Hex Package Manager in Elixir
Elixir তে external dependencies ব্যবহৃত হয় যখন আপনি বাইরের লাইব্রেরি বা টুল ব্যবহার করতে চান যা আপনার প্রজেক্টের কার্যকারিতা বাড়িয়ে দেয়। Elixir এ Hex হল একটি জনপ্রিয় প্যাকেজ ম্যানেজার যা আপনার প্রজেক্টে dependencies যোগ, আপডেট এবং পরিচালনা করতে ব্যবহৃত হয়। এর মাধ্যমে আপনি Elixir এর কমিউনিটির তৈরি অনেকগুলি প্যাকেজ ব্যবহার করতে পারেন।
এখানে আমরা external dependencies, Hex, এবং এর ব্যবহার নিয়ে বিস্তারিত আলোচনা করব।
1. External Dependencies in Elixir
Elixir তে external dependencies হল বাইরের কোড বা লাইব্রেরি যা আপনার প্রজেক্টে যুক্ত করা হয়। এগুলি আপনার প্রজেক্টের ফিচার উন্নত করতে সহায়তা করে। সাধারণত এগুলি পাবলিক প্যাকেজ ম্যানেজার বা Hex এর মাধ্যমে যুক্ত করা হয়।
External Dependency যোগ করার প্রক্রিয়া:
- Hex Dependency যোগ করার জন্য প্রথমে আপনার প্রজেক্টের
mix.exsফাইলে নির্দিষ্ট লাইব্রেরির নাম এবং সংস্করণ যুক্ত করতে হবে। - এরপর,
mix deps.getকমান্ড ব্যবহার করে সেই লাইব্রেরি ইনস্টল করতে হবে।
Dependency যোগ করার উদাহরণ:
এখন, মনে করুন আমরা একটি HTTP client প্যাকেজ HTTPoison যোগ করতে চাই, যা HTTP রিকোয়েস্ট এবং রেসপন্স হ্যান্ডল করতে ব্যবহৃত হয়।
mix.exsফাইলে dependency যোগ করা:
defmodule MyProject.MixProject do
use Mix.Project
def project do
[
app: :my_project,
version: "0.1.0",
elixir: "~> 1.12",
start_permanent: Mix.env() == :prod,
deps: deps()
]
end
# Define your project dependencies
defp deps do
[
{:httpoison, "~> 1.8"} # Adding the HTTPoison dependency
]
end
endএখানে, httpoison লাইব্রেরি deps/0 ফাংশনের মাধ্যমে যোগ করা হয়েছে। এর মাধ্যমে, Elixir HTTPoison লাইব্রেরি ব্যবহার করতে পারবে।
- প্যাকেজ ইনস্টল করা:
mix deps.getএখন, HTTPoison প্যাকেজটি আপনার প্রজেক্টে ইনস্টল হয়ে যাবে এবং আপনি এটি ব্যবহার করতে পারবেন।
2. Hex Package Manager
Hex হল Elixir এর অফিশিয়াল প্যাকেজ ম্যানেজার। এটি Elixir এবং Erlang কমিউনিটির জন্য একটি package registry যা আপনাকে ওপেন সোর্স প্যাকেজ, লাইব্রেরি এবং টুলস ডাউনলোড এবং ম্যানেজ করার সুবিধা দেয়। Hex তে আপনি প্রজেক্টের জন্য নতুন প্যাকেজ install, update, এবং publish করতে পারেন।
Hex এর মাধ্যমে প্যাকেজ ম্যানেজমেন্ট
- প্রথমবার Hex ইনস্টল করা:
Hex ব্যবহার করার জন্য আপনাকে প্রথমে Hex ইনস্টল করতে হবে, তবে আধুনিক Elixir ইনস্টলেশনের সাথে Hex স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত থাকে।
এখন, যদি আপনার Hex ইনস্টল না থাকে, তবে এটি ইনস্টল করতে নিচের কমান্ডটি ব্যবহার করুন:
mix local.hex- Dependencies ম্যানেজ করা:
- প্যাকেজ যোগ করা:
mix.exsফাইলে প্যাকেজ উল্লেখ করার মাধ্যমে dependencies যোগ করা হয়। - প্যাকেজ ইনস্টল করা:
mix deps.getব্যবহার করা হয়। - প্যাকেজ আপডেট করা:
mix deps.updateকমান্ড দিয়ে dependencies আপডেট করা যায়।
- প্যাকেজ যোগ করা:
- প্যাকেজ ইনস্টল এবং আপডেট:
Hex Package Install:
mix deps.getএটি আপনার প্রজেক্টে
mix.exsফাইলের মধ্যে উল্লেখ করা সমস্ত dependencies ইনস্টল করবে।Hex Package Update:
mix deps.update <package_name>এটি আপনার নির্দিষ্ট প্যাকেজকে আপডেট করবে।
এনভায়রনমেন্ট অনুযায়ী Dependencies:
Elixir তে আপনি নির্দিষ্ট এনভায়রনমেন্টের জন্য dependencies নির্ধারণ করতে পারেন, যেমন ডেভেলপমেন্ট, প্রডাকশন, বা টেস্টিং।
উদাহরণস্বরূপ:
defp deps do [ {:httpoison, "~> 1.8", only: :dev}, # Only in development {:ex_unit, "~> 1.12", only: :test} # Only in test environment ] end
3. Publishing a Package to Hex
আপনার যদি নিজস্ব Elixir লাইব্রেরি থাকে এবং সেটি Hex রেজিস্ট্রিতে শেয়ার করতে চান, তবে আপনি সহজেই সেটি প্যাকেজ আকারে Hex এ পাবলিশ করতে পারবেন। এটি করার জন্য আপনাকে প্রথমে আপনার প্যাকেজের জন্য mix.exs ফাইল সেটআপ করতে হবে।
Hex Package Publishing Example:
- প্যাকেজ ডকুমেন্টেশন তৈরি করা: আপনার লাইব্রেরির ডকুমেন্টেশন তৈরি করুন। এর মাধ্যমে ব্যবহারকারীরা আপনার লাইব্রেরি কিভাবে ব্যবহার করবে তা জানতে পারবে।
- Hex রেজিস্ট্রিতে প্যাকেজ পাবলিশ করা:
mix hex.publishএটি আপনার লাইব্রেরি Hex এ পাবলিশ করবে, যাতে অন্য ডেভেলপাররা তা ব্যবহার করতে পারে।
4. Searching for Packages on Hex
Elixir তে প্যাকেজ খোঁজার জন্য Hex.pm ওয়েবসাইট বা Hex CLI ব্যবহার করতে পারেন। আপনি Hex.pm এ গিয়ে বিভিন্ন প্যাকেজ সার্চ করতে পারেন।
Searching via Hex CLI:
mix hex.search "package_name"এটি নির্দিষ্ট প্যাকেজের উপর সার্চ করবে এবং তার বিস্তারিত তথ্য দেখাবে।
5. Example of Using External Dependency with Hex
ধরা যাক, আপনি Elixir প্রজেক্টে ExUnit (Elixir এর টেস্টিং ফ্রেমওয়ার্ক) ব্যবহার করতে চান।
Step 1: mix.exs ফাইলে ex_unit প্যাকেজ যোগ করা:
defmodule MyProject.MixProject do
use Mix.Project
def project do
[
app: :my_project,
version: "0.1.0",
elixir: "~> 1.12",
start_permanent: Mix.env() == :prod,
deps: deps()
]
end
defp deps do
[
{:ex_unit, "~> 1.12"}
]
end
endStep 2: Dependencies ইনস্টল করা:
mix deps.getStep 3: ExUnit ব্যবহার করে টেস্টিং করা:
defmodule MyProjectTest do
use ExUnit.Case
test "basic test" do
assert 1 + 1 == 2
end
endএখানে, ExUnit প্যাকেজটি টেস্টের জন্য ইনস্টল এবং ব্যবহৃত হয়েছে।
Conclusion
- Hex হল Elixir এর প্রধান প্যাকেজ ম্যানেজার যা আপনাকে সহজেই external dependencies যোগ, আপডেট, এবং ম্যানেজ করার সুযোগ দেয়।
- Elixir এর mix.exs ফাইলে প্যাকেজ নির্ধারণ করা হয়, এবং আপনি
mix deps.get,mix deps.updateএর মাধ্যমে প্যাকেজ ইনস্টল বা আপডেট করতে পারেন। - Elixir তে external dependencies যোগ করা এবং ব্যবহারের জন্য Hex প্যাকেজ ম্যানেজার অত্যন্ত গুরুত্বপূর্ণ এবং এটি প্রজেক্টের কার্যকারিতা বৃদ্ধি করতে সহায়তা করে।
Read more