মেলপা থাকলে আমার কি এখনও জিএনইউ এলপিএ দরকার?


31

এটি আমাকে সর্বদা বিভ্রান্ত করেছে, যেহেতু লোকেরা বলছে যে মেলপাতে প্যাকেজগুলির আরও নতুন সংস্করণ রয়েছে, তবে এটি সত্যিই পরিষ্কার নয়, যদি জিএনইউ এলপিএ কেবল মেল্পার একটি উপসেট হয়, বা আমার যদি উভয়ের প্রয়োজন হয়?

আমি জিজ্ঞাসা করার কারণটি হ'ল আমি আমার প্যাকেজগুলি নিয়ে প্রচুর পরীক্ষা নিরীক্ষা করছি এবং package-list-packagesবেশ কিছুক্ষণ সময় নেয়। আমি সচেতন package-list-packages-no-fetch, তবে প্রায়শই না আমি সবচেয়ে সাম্প্রতিক প্যাকেজ তালিকা পেতে চাই get

সুতরাং প্রশ্নটি হল, আমি কী কেবল মেলপা ব্যবহার করতে এবং একই (এবং সম্ভবত আরও নতুন সংস্করণ) প্যাকেজগুলি পেতে পারি যেন আমি মেলপা এবং জিএনইউ ইএলপিএ উভয়ই ব্যবহার করি?


5
হ্যাঁ, আপনার সর্বদা জিএনইউ এলপা দরকার।
মালবারবা

উত্তর:


45

প্রথমত, ইএলপিএ একটি স্পেসিফিকেশনের নাম , ইমাস লিসপ প্যাকেজ আর্কাইভ। সেই স্পেসিফিকেশনের তিনটি বহুল প্রচলিত বাস্তবায়ন রয়েছে, জিএনইউ ইএলপিএ, মারমালেড এবং মেলপা।

GNU ELPA হ'ল আনুষ্ঠানিক GNU Emacs সংরক্ষণাগার, যথেষ্ট পরিমাণে নতুন Emacs ইনস্টলেশনগুলির জন্য বাক্সের বাইরে সক্ষম enabled এটি তুলনামূলকভাবে ছোট, এতে অবদানের জন্য কপিরাইট অ্যাসাইনমেন্ট এবং অফিসিয়াল মেইলিং তালিকার সাথে সহযোগিতা প্রয়োজন। লিনাক্স ডিস্ট্রিবিউশন প্যাকেজ সংরক্ষণাগারের সাথে তুলনা করার মতো আমাদের পরীক্ষার কাছে এটি আমাদের নিকটতম জিনিস।

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

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

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

আপডেট : ম্যালবার্বার প্যাকেজ পরিসংখ্যান অনুসারে মেলপা স্টেবল উপলব্ধ প্যাকেজগুলির সংখ্যায় মারমালাকে ছাড়িয়ে গেছে। আমি এখন মারমালেডের ওপরে তুলে নিয়ে যাব।

আপডেট : মার্বেল মূলত মারা গেছে। শংসাপত্রটির মেয়াদ শেষ হয়ে গেছে এবং খুব সহজেই কোনও নতুন প্যাকেজ আপলোড হয়েছে। এটি এর পরিবর্তে অস্বাভাবিক প্রক্রিয়াটির কারণে, আপনাকে তার মালিক দ্বারা ব্যবহারকারীদের ম্যানুয়ালি যুক্ত করা দরকার এবং তিনি নিখোঁজ হয়ে গেছেন, ২০১ or বা তার পর থেকে কোনও নতুন ব্যবহারকারী যুক্ত করা হয়নি have


মেলপা + জ্নু এল্পার মতো শোনাচ্ছে, এবং মারমালেড ব্যবহার না করা, যাওয়ার উপায়। রূপান্তর করার কোনও সহজ উপায়?
justingordon

কেবল package-archivesসেই অনুযায়ী কাস্টমাইজ করুন এবং ব্যবহারের মতো সূচি আপডেট করুন M-x package-refresh-contentsM-x list-packagesআগের চেয়ে আলাদা তালিকা প্রদর্শন করা উচিত।
wasamasa

মনে হচ্ছে মালারবাবার প্যাকেজ পরিসংখ্যান 2015 সালের ডিসেম্বরে আটকে আছে ...
জিনপিয়ের


-5

না, আপনার GNU ELPA বা কোনও ELPA দরকার নেই don't

জিএনইউ ইএলপিএ বা কোনও তৃতীয় পক্ষের সংগ্রহস্থল ব্যবহার না করার ব্যবহারিক কারণ হ'ল ইএলপিএ বন্ধ হয়ে যাওয়া থেকে আমার ইমাসকে রক্ষা করা। শাটডাউন সময়ে সময়ে ঘটেছিল (দেখুন https://www.reddit.com/r/emacs/search/?q=elpa%20down&restrict_sr=1 )

আমার বেশিরভাগ প্যাকেজগুলি https // melpa.org থেকে ডাউনলোড হয়েছে, আমি নির্বাচিত জিএনইউ ইএলপিএ প্যাকেজগুলির একটি ছোট স্থানীয় প্যাকেজ আয়না তৈরি করে জিএনইউ ইএলপিএ এড়াতে পারি।

আমার সেটআপটি এখানে পরীক্ষা করে দেখুন https://github.com/redguardtoo/emacs.d/blob/master/lisp/init-elpa.el, জিএনইউ ইএলপিএ ব্যবহৃত হয় না।

যদি আমাকে কিছু GNU ELPA কেবল প্যাকেজ ব্যবহার করতে হয় তবে আমি তার পরিবর্তে আমার নিজস্ব স্থানীয় ELPA তৈরি করব (এটি কোনও পাঠ্য ফাইল তৈরি করার মতোই সহজ archive-contents), আমার পরীক্ষা করুন ~/.emacs.d/localelpa

উদাহরণস্বরূপ, seq-2.20.tarকেবলমাত্র জিএনইউ ইএলপিএতে বিদ্যমান এবং আমার এটি প্রয়োজন। সুতরাং আমি আমার স্থানীয় এলপায় এই প্যাকেজটি যুক্ত করবhttps://github.com/redguardtoo/emacs.d/tree/master/localelpa

বর্তমানে আমি কেবল জিএনইউ ইএলপিএ থেকে চারটি প্যাকেজ ব্যবহার করেছি,

gnu-elpa-keyring-update-2019.3.tar
let-alist-1.0.5.el
seq-2.20.tar
undo-tree-20170706.246.tar

এই প্যাকেজগুলি আমার স্থাপন করা হয়েছে localelpaযাতে আমার GNU ELPA অ্যাক্সেসের প্রয়োজন হয় না।

আপনি আমার প্যাকেজ https://github.com/redguardtoo/elpa-mirror পরীক্ষা করে দেখতে পারেন যা ইনস্টল করা প্যাকেজগুলি থেকে স্থানীয় সংগ্রহস্থল তৈরি করে। এমনকি দূরবর্তী সংগ্রহস্থল (GNU ELPA, MELPA) এখন alচ্ছিক।

আপনি পরিবর্তে ডাউনলোড প্যাকেজ উত্স ব্যবহার করতে পারেন। দয়া করে https://github.com/redguardtoo/emacs.d/tree/master/site-lisp দেখুনrainbow-mode, যদি আপনি উত্স ব্যবহার করেন তবে আপনার কী load-path( http://emacswiki.org/emacs/LoadPath ) বুঝতে হবে ।

আপনি package--add-to-archive-contentsপ্যাকেজ ম্যানেজারে প্রদর্শিত হওয়ার আগে প্যাকেজগুলি টুইঙ্ক করার পরামর্শও দিতে পারেন । এটি এক প্রকারের অনথিভুক্ত হ্যাক। এটি Emacs 23.4 থেকে Emacs 27 পর্যন্ত কাজ করে init-elpa.elexample উদাহরণস্বরূপ দেখুন ।


7
অকেটেক্স, সেক.এল, লেট-অ্যালিস্ট, রেইনবো-মোড ইত্যাদি প্যাকেজগুলির জন্য আপনারও জিএনইউ ইএলপিএ দরকার তাই আমি খুব কমই যুক্তি দিয়ে বলতে পারি যে এটি অপ্রচলিত, বরং আরও বেশি লোকেরা ইমাস বিকাশে প্রবেশ করায় এর গুরুত্ব বাড়ছে এবং তাদের জন্য আগ্রহী প্যাকেজ সকলের জন্য সহজেই উপলব্ধ।
wasamasa

আমি এই বিষয়ে আমার উত্তরটি কিছুটা আপডেট করেছি।
চেন বিন

@ ওয়াসমাস আপনি কি দয়া করে ব্যাখ্যা করতে পারেন, কেন ঠিক যেমন আমার কাছে নিউটেক্সের মতো প্যাকেজগুলির জন্য gnu এলপা দরকার?
টোগলি

1
@toogley যেহেতু এটি কেবল জিএনইউ ইএলপিএতে উপলব্ধ, সে কারণেই।
ওয়াসামাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.