Vivasoft-logo

ডার্ট প্যাকেজের সাথে প্রাসঙ্গিক সাধারণ পরিভাষা

ডেপেন্ডেনসি

আরেকটি প্যাকেজ যার উপর আপনার প্যাকেজটি নির্ভর করে। যদি আপনার প্যাকেজ অন্য কোনো প্যাকেজ থেকে কোড ইমপোর্ট করতে চায়, তাহলে সেই প্যাকেজটি অবশ্যই ডেপেন্ডেনসি হতে হবে। ডেপেন্ডেনসিগুলি আপনার প্যাকেজের pubspec এর মধ্যে নির্দিষ্ট করা থাকবে।

ইমিডিয়েট ডেপেন্ডেনসি

একটি ডেপেন্ডেনসি যা আপনার প্যাকেজ সরাসরি ব্যবহার করে। আপনি আপনার পাবস্পেকের তালিকাভুক্ত ডেপেন্ডেনসিগুলি হল আপনার প্যাকেজের ইমিডিয়েট ডেপেন্ডেনসি অন্য সব নির্ভরতাই ট্রানজিটিভ নির্ভরতা।

ট্রানজিটিভ ডেপেন্ডেনসি

একটি ডেপেন্ডেনসি যা আপনার আপ্লিকেশন পরোক্ষভাবে ব্যবহার করে কারণ এর একটি ডেপেন্ডেনসির জন্য এটি প্রয়োজন। যদি আপনার আপ্লিকেশন বা প্যাকেজ অন্য একটি প্যাকেজ A এর উপর নির্ভর করে, আবার প্যাকেজ A যদি প্যাকেজ B এর উপর নির্ভর করে এবং প্যাকেজ B প্যাকেজ C এর উপর নির্ভর করে, তাহলে প্যাকেজ A হল আপনার আপ্লিকেশনের সাপেক্ষে একটি ইমিডিয়েট ডেপেন্ডেনসি এবং B এবং C হল ট্রানজিটিভ ডেপেন্ডেনসি।

লাইব্রেরি

একটি লাইব্রেরি হল একটি একক কম্পাইলেশন ইউনিট, যা একটি একক প্রাথমিক ফাইল এবং যেকোনো ঐচ্ছিক সংখ্যক অংশ নিয়ে গঠিত। লাইব্রেরিগুলোর নিজস্ব প্রাইভেট স্কোপ রয়েছে।

লকফাইল

pubspec.lock নামের একটি ফাইল যা একটি প্যাকেজ নির্ভর করে এমন প্রতিটি ইমিডিয়েট এবং ট্রানজিটিভ ডেপেন্ডেনসি জন্য কংক্রিট সংস্করণ এবং অন্যান্য সনাক্তকারী তথ্য নির্দিষ্ট করে।

pubspec-এর বিপরীতে, যা শুধুমাত্র ইমিডিয়েট নির্ভরতা তালিকাভুক্ত করে এবং সংস্করণ রেঞ্জের অনুমতি দেয়, লকফাইল সম্পূর্ণ ডেপেন্ডেনসি গ্রাফকে প্যাকেজের নির্দিষ্ট সংস্করণে পিন করে। একটি লকফাইল নিশ্চিত করে যে আপনি একটি অ্যাপ্লিকেশন দ্বারা ব্যবহৃত প্যাকেজগুলির সঠিক কনফিগারেশন পুনরায় তৈরি করতে পারেন।

আপনি যখন pub get, pub upgrade বা pub downgrade চালান তখন লকফাইলটি আপনার জন্য স্বয়ংক্রিয়ভাবে তৈরি হয়। ভবিষ্যতের রেজোলিউশনের সময় পরীক্ষা করার জন্য পাব প্রতিটি প্যাকেজের জন্য একটি কন্টেন্ট হ্যাশ তৈরি করে।

যদি আপনার প্যাকেজটি একটি অ্যাপ্লিকেশন প্যাকেজ হয়, তাহলে সোর্স কন্ট্রোলে চেক আউট করতে হবে ।

প্যাকেজ

একটি ডিরেক্টরির অধীনে লাইব্রেরির একটি সংগ্রহ, সেই ডিরেক্টরির রুটে একটি pubspec.yaml রয়েছে।

প্যাকেজগুলির অন্যান্য প্যাকেজের উপর ডিপেন্ডেনসি থাকতে পারে এবং নিজেরাই ডিপেন্ডেনসি হতে পারে। একটি প্যাকেজের /lib ডিরেক্টরিতে পাবলিক লাইব্রেরি রয়েছে যা অন্যান্য প্যাকেজ ইম্পর্ট এবং ব্যবহার করতে পারে। তারা সরাসরি চালানোর জন্য স্ক্রিপ্টও অন্তর্ভুক্ত করতে পারে। একটি প্যাকেজ যা অন্য প্যাকেজের উপর নির্ভর করার উদ্দেশ্যে তৈরি করা হয় না তাকে অ্যাপ্লিকেশন প্যাকেজ বলে। শেয়ারড প্যাকেজগুলি pub.dev-এ প্রকাশিত হয়, তবে আপনার কাছে অ-প্রকাশিত প্যাকেজও থাকতে পারে।

সোর্স

এক ধরনের জায়গা যেখান থেকে পাব প্যাকেজ পেতে পারে। একটি সোর্স একটি নির্দিষ্ট স্থান যেমন pub.dev সাইট বা কিছু নির্দিষ্ট Git URL নয়। প্রতিটি সোর্স কোনো না কোনোভাবে প্যাকেজ অ্যাক্সেস করার জন্য একটি সাধারণ পদ্ধতি বর্ণনা করে। উদাহরণস্বরূপ, গিট একটি সোর্স গিট সোর্স জানে কিভাবে একটি গিট ইউআরএল দেওয়া প্যাকেজ ডাউনলোড করতে হয়। এরকম বিভিন্ন ধরনের সোর্স রয়েছে।

সিস্টেম ক্যাশ

যখন পাব একটি দূরবর্তী প্যাকেজ পায়, তখন এটি পাব দ্বারা পরিচালিত একটি একক সিস্টেম ক্যাশে ডিরেক্টরিতে ডাউনলোড করে। ম্যাক এবং লিনাক্সে, এই ডিরেক্টরি ডিফল্ট ~/.pub-cache -তে থাকে। Windows-এ, ডিরেক্টরি ডিফল্ট %LOCALAPPDATA%\Pub\Cache -তে থাকে, যদিও এর সঠিক অবস্থান Windows সংস্করণের উপর নির্ভর করে পরিবর্তিত হতে পারে। আপনি PUB_CACHE এনভাইরোমেন্ট ভেরিয়েবল ব্যবহার করে একটি ভিন্ন অবস্থান নির্দিষ্ট করতে পারেন।

প্যাকেজগুলি সিস্টেম ক্যাশে থাকাকালীন, pub একটি package_config.json ফাইল তৈরি করে যা আপনার অ্যাপ্লিকেশন দ্বারা ব্যবহৃত প্রতিটি প্যাকেজকে ক্যাশে সংশ্লিষ্ট প্যাকেজের সাথে ম্যাপ করে।

আপনাকে শুধুমাত্র একবার একটি প্যাকেজের একটি প্রদত্ত সংস্করণ ডাউনলোড করতে হবে এবং তারপরে আপনি যতগুলি চান ততগুলি প্যাকেজে এটি পুনরায় ব্যবহার করতে পারেন। যদি আপনি ক্যাশে করা প্যাকেজগুলি ব্যবহার করার জন্য –offline ফ্ল্যাগ সেট করেন, তাহলে আপনি নেটওয়ার্ক অ্যাক্সেস না করেই আপনার package_config.json ফাইলগুলি মুছে ফেলতে এবং পুনরায় তৈরি করতে পারবেন।