নতুন ব্রু স্রষ্টার প্যাকেজ ম্যানেজারকে চা দিন

চা

চা নতুন প্রযুক্তি তৈরি করছে যা কোড বিতরণের উপায় পরিবর্তন করবে

ম্যাক্স হাওয়েল, লেখক জনপ্রিয় প্যাকেজ ম্যানেজমেন্ট সিস্টেমের ফন্দি আঁটা (হোমব্রু) ম্যাকওএস, এটি প্রকাশ করেছে চা নামক একটি নতুন প্যাকেজ ম্যানেজার উন্নয়নে কাজ করছে, যা প্যাকেজ ম্যানেজারের বাইরে গিয়ে ব্রু ডেভেলপমেন্টের ধারাবাহিকতা হিসাবে অবস্থান করছে এবং বিকেন্দ্রীভূত সংগ্রহস্থলগুলির সাথে কাজ করে এমন একটি ইউনিফাইড প্যাকেজ ম্যানেজমেন্ট অবকাঠামো অফার করছে।

চা ধারণাগতভাবে ঐতিহ্যগত প্যাকেজ পরিচালকদের মত নয়।, এবং "আমি একটি প্যাকেজ ইনস্টল করতে চাই" দৃষ্টান্তের পরিবর্তে, এটি "আমি একটি প্যাকেজ ব্যবহার করতে চাই" পদ্ধতি ব্যবহার করে।

বিশেষত চায়ের প্যাকেজ ইনস্টল কমান্ড নেই যেমন, কিন্তু পরিবর্তে বর্তমান সিস্টেমের সাথে ওভারল্যাপ করে না এমন প্যাকেজ বিষয়বস্তু চালানোর জন্য পরিবেশ তৈরি করে। প্যাকেজগুলি একটি পৃথক ~/.tea ডিরেক্টরিতে স্থাপন করা হয় এবং পরম পাথে বরাদ্দ করা হয় না (সেগুলি সরানো যেতে পারে)।

চায়ে দুটি মৌলিক মোড দেওয়া হয় অপারেশনের: প্যাকেজ ইনস্টল সহ একটি পরিবেশে অ্যাক্সেস সহ একটি কমান্ড শেল এ যান এবং সরাসরি প্যাকেজ-সম্পর্কিত কমান্ডগুলি আহ্বান করুন। উদাহরণস্বরূপ, "tea +gnu.org/wget" চালানোর মাধ্যমে, প্যাকেজ ম্যানেজার wget ইউটিলিটি এবং সমস্ত প্রয়োজনীয় নির্ভরতা ডাউনলোড করবে, এবং তারপরে ইনস্টল করা wget ইউটিলিটি উপলব্ধ একটি পরিবেশে শেল অ্যাক্সেস প্রদান করবে।

দ্বিতীয় বিকল্পটি একটি সরাসরি লঞ্চ জড়িত: «চা +gnu.org/wget -qO- tea.xyz/white-paper | চা +charm.sh/glow গ্লো - ", যা wget ইউটিলিটি ইনস্টল করবে এবং একটি পৃথক পরিবেশে অবিলম্বে এটি চালাবে, একটি ফাইল ডাউনলোড করবে যা গ্লো সহ রেন্ডার করা হবে। জটিল চেইনিং সম্ভব, উদাহরণস্বরূপ, white-paper.pdf ফাইলটি ডাউনলোড করতে এবং গ্লো ইউটিলিটি দিয়ে এটি প্রক্রিয়া করতে, আপনি নিম্নলিখিত কনস্ট্রাক্ট ব্যবহার করতে পারেন (যদি wget এবং গ্লো উপস্থিত না থাকে তবে সেগুলি ইনস্টল করা হবে)।

একইভাবে, আপনি সরাসরি স্ক্রিপ্ট চালাতে পারেন, কোড নমুনা এবং এক-লাইনার, স্বয়ংক্রিয়ভাবে কাজের জন্য প্রয়োজনীয় সরঞ্জাম লোড হচ্ছে।

কোন উদাহরণের জন্য, চালান:

tea https://gist.githubusercontent.com/i0bj/2b3afbe07a44179250474b5f36e7bd9b/raw/colors.go --yellow
tea: installing go 1.18.3
go: installing deps
go: running colors.go

এটি Go ল্যাঙ্গুয়েজ টুলকিট ইন্সটল করবে এবং আর্গুমেন্ট হিসাবে “–হলুদ” সহ colors.go স্ক্রিপ্ট চালাবে।

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

বর্তমান আকারে, চায়ের জন্য উপলব্ধ প্যাকেজ দুটি সংগ্রহে সংগ্রহ করা হয়, pantry.core এবং pantry.extra, যার মধ্যে রয়েছে প্যাকেজ ডাউনলোডের উৎস, বিল্ড স্ক্রিপ্ট এবং নির্ভরতা বর্ণনাকারী মেটাডেটা।

সংগ্রহ pantry.core-এর মূল লাইব্রেরি এবং ইউটিলিটি রয়েছে যা চা বিকাশকারীরা আপ টু ডেট রাখা এবং পরীক্ষিত. pantry.extra-এ এমন প্যাকেজ রয়েছে যা ভালভাবে স্থিতিশীল নয় অথবা যে সম্প্রদায় দ্বারা প্রস্তাবিত হয়. প্যাকেজগুলির মাধ্যমে নেভিগেট করার জন্য একটি ওয়েব ইন্টারফেস প্রদান করা হয়।

চায়ের জন্য প্যাকেজ তৈরির প্রক্রিয়াটি ব্যাপকভাবে সরলীকৃত এবং একটি সর্বজনীন package.yml ফাইল (উদাহরণ) তৈরি করার জন্য হ্রাস করা হয়েছে, যার প্রতিটি নতুন সংস্করণের জন্য প্যাকেজটিকে মানিয়ে নেওয়ার প্রয়োজন নেই। নতুন সংস্করণ আবিষ্কার করতে এবং এর কোড ডাউনলোড করতে, প্যাকেজটি গিটহাবের সাথে লিঙ্ক করা যেতে পারে।

ফাইলটি নির্ভরতা বর্ণনা করে এবং সমর্থিত প্ল্যাটফর্মগুলির জন্য বিল্ড স্ক্রিপ্ট সরবরাহ করে। ইনস্টল করা নির্ভরতাগুলি অপরিবর্তনীয় (সংস্করণ স্থির করা হয়েছে), যা বাম প্যাড ঘটনার অনুরূপ পুনরাবৃত্তি পরিস্থিতি দূর করে।

ভবিষ্যতে, এটি বিকেন্দ্রীভূত ভাণ্ডার তৈরি করার পরিকল্পনা করা হয়েছে যেue কোনো আলাদা স্টোরেজের সাথে আবদ্ধ নয় এবং মেটাডেটার জন্য একটি ডিস্ট্রিবিউটেড ব্লকচেইন এবং প্যাকেজ স্টোর করার জন্য একটি বিকেন্দ্রীকৃত অবকাঠামো ব্যবহার করে। সংস্করণগুলি রক্ষণাবেক্ষণকারীদের দ্বারা সরাসরি প্রত্যয়িত হবে এবং আগ্রহী পক্ষগুলি দ্বারা পর্যালোচনা করা হবে। প্যাকেজগুলির রক্ষণাবেক্ষণ, সমর্থন, বিতরণ এবং যাচাইকরণে অবদান রাখতে ক্রিপ্টোকারেন্সি টোকেনগুলি বিতরণ করা সম্ভব।

সবশেষে উল্লেখ করা দরকার যে বর্তমানে ড প্রকল্পটি প্রাথমিকভাবে ক্রস-প্ল্যাটফর্ম হিসাবে তৈরি করা হয়েছে (macOS এবং Linux বর্তমানে সমর্থিত, উইন্ডোজ সমর্থন বিকাশাধীন।) প্রকল্পের কোডটি টাইপস্ক্রিপ্টে লেখা এবং অ্যাপাচি 2.0 লাইসেন্সের অধীনে প্রকাশিত হয়েছে (ব্রু রুবিতে লেখা হয়েছিল এবং একটি BSD লাইসেন্সের অধীনে পাঠানো হয়েছিল)।

আপনি যদি এটি সম্পর্কে আরও জানতে আগ্রহী হন তবে আপনি চায়ের বিশদ বিবরণ এবং ব্যবহারকারীর ম্যানুয়ালটি দেখতে পারেন নিম্নলিখিত লিঙ্ক.


Google-এ পছন্দের উৎস হিসেবে যোগ করুন