বিকল্প প্যাকেজ পরিচালকদের ভিজ-à-ভিজি `package.el` ব্যবহারের ক্ষেত্রে কী কী?


14

পটভূমি

আমি প্রতিদিন ইমাস ব্যবহার করি তবে বেশিরভাগ জিনিসই কাজ শেষ করতে পারি। আমি প্যাকেজ যুক্ত করার চেয়ে এটিকে কাস্টমাইজ করতে বেশি পছন্দ করি না এবং আমি সমস্যা সমাধানও পছন্দ করি না। আমি চাই যে কোনও ভাল ওএস যেভাবে পটভূমিতে ফ্যাকাশ হয় এবং ঠিক জিনিস দিয়ে যায় ma কিছুক্ষণ আগে আমি খুঁজে পেয়েছি যে el-getআমার প্রয়োজনীয় প্যাকেজগুলি ইনস্টল করার অনুমতি দিয়েছে যা আমার কাছে অনুপলব্ধ ছিল package.elএবং আমাকে আরও নিয়ন্ত্রণ দিয়েছে যেমন maintঅরগ-মোডের শাখা নির্বাচন করা রক্তপাতের প্রান্তের চেয়ে অস্থায়ী সমস্যার কারণ হতে পারে। এখন আমি নিশ্চিত না আমার ব্যবহার করা উচিত কি el-getনা।

প্রশ্ন

el-getমনে হচ্ছে সেখানে থাকা বিভিন্ন সংগ্রহস্থল এবং ইম্যাক্স হ্যাকের দুর্দান্ত সমাধান বলে মনে হচ্ছে। এটি এমন দক্ষতার প্রস্তাব দেয় যা কেবল সম্ভব ছিল না package.el। এখন যে package.elইম্যাক্সের নতুন সংস্করণগুলিতে ( >=24.4) একাধিক সংগ্রহস্থল সমর্থন করে, el-getইমাসের অন্তর্নির্মিত প্যাকেজ ম্যানেজারের ব্যবহারের ক্ষেত্রে কী কী এবং এর অনুরূপ বিকল্পগুলি কী কী?


2
আরও দেখুন: কোয়েলপা । সংক্ষিপ্ত উত্তরটি হ'ল: অবশ্যই এটি হ'ল, এখনও প্যাকেজগুলি রয়েছে যা ইএলপিএ / মেলপা / মার্মেলেডে নেই। যদি আপনার মনে হয় যে আপনার একটির প্রয়োজন আছে তবে আপনি এখনও এটির el-getমতো ভয়ঙ্কর হ্যাকগুলি এবং এটি ছাড়া পেতে পারেন।
পাইথননট

উত্তর:


8

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

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

আপনার যদি এলপিএর বাইরে বৈশিষ্ট্যগুলির প্রয়োজন হয় তবে আপনার এখন এল-গেটের চেয়ে কুইলপা উচিত।


"যদি তারা কেউ না রাখে তবে এখনও তাদের রক্ষণাবেক্ষণের জন্য বিরত করবে না।" যদিও উদ্দেশ্যটি কেবল বিকাশকারীর অহংকার হতে পারে।
টি। ভেরন

এটি একটি শক্তিশালী অহং হতে চাই, যদিও, এটি সহজেই এল-গেটের মতো বিশাল জনগোষ্ঠীকে আকৃষ্ট করতে পারে এবং কোয়েলপা দ্রুত অর্জন করেছে :)
চন্দ্রালগ্ন

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

@ টি.ভেরন হ্যাঁ, পয়েন্ট নেওয়া হয়েছে। আমি উক্তিটি সরিয়ে দিয়েছি, এটি বলার মতো বোকামি জিনিস। দুঃখিত।
লুনারিওর

আপনার সাথে @ লুনারিওরনের el-get, however, does not expose its own packages to ELPA, meaning that **its packages** are entirely invisible to ELPA and ELPA অর্থ এল- গেট দ্বারা ইনস্টল করা জিনিসগুলি, তাই না?
টোগলি

6

আমি ইমাসের জন্য একটি নতুন প্যাকেজ ম্যানেজার লিখেছি straight.el, যা বিদ্যমান সমস্ত প্যাকেজ পরিচালনার সমাধানগুলিতে উন্নতি করার চেষ্টা করে। অন্যান্য প্যাকেজ পরিচালকদের তুলনা সম্পর্কে ডকুমেন্টেশনের একটি বিস্তৃত বিভাগ রয়েছে , তবে এখানে একটি খুব সংক্ষিপ্ত সংক্ষিপ্তসার রয়েছে:straight.el

  • package.elকোনও প্যাকেজের নির্দিষ্ট সংস্করণ নির্বাচন করার কোনও বিকল্প ছাড়াই কেন্দ্রীয় সার্ভারগুলি থেকে অস্বচ্ছ টারবলগুলি ডাউনলোড করে এবং আপনাকে আপনার প্যাকেজগুলিতে স্থানীয় পরিবর্তন করতে দেয় না; প্রবাহের পরিবর্তনগুলি অবদান করা অসম্ভব। straight.elগিট সংগ্রহস্থলকে বিকেন্দ্রীভূত উপায়ে ক্লোন করুন (তবে এটি স্বয়ংক্রিয়ভাবে মেলপা , জিএনইউ ইএলপিএ , এবং ইমাকস্মিরর থেকে রেসিপিগুলি ব্যবহার করুন , যদি আপনি চান), এবং আপনাকে সেগুলিতে নির্বিচারে স্থানীয় পরিবর্তন করতে, সেই পরিবর্তনগুলি সংঘবদ্ধ করতে এবং প্রবাহের অবদানের অনুমতি দেয়। এটি ম্যানুয়ালি করা যেতে পারে বা আপনি অন্তর্নির্মিত বাল্ক সংগ্রহস্থল পরিচালনা কার্যক্রম পরিচালনা করতে পারেন। আপনার প্যাকেজগুলির পরিবর্তনগুলি স্বয়ংক্রিয়ভাবে সনাক্ত হয়ে যায় এবং ম্যানুয়াল পুনর্নির্মাণের প্রয়োজন হয় না। তদ্ব্যতীত,straight.el আপনার ইমাস কনফিগারেশনের জন্য সম্পূর্ণ পুনরুত্পাদনযোগ্যতা সমর্থন করে, যেহেতু এটি আপনাকে একটি পুনর্বিবেচনা লকফাইলে লিখতে দেয় যা আপনার সমস্ত প্যাকেজের গিট হ্যাশ অন্তর্ভুক্ত করে।
  • Quelpa এবং পিপা উভয় উপর ভিত্তি করে package.el, এবং একই অসুবিধেও উত্তরাধিকারী অনেক। উদাহরণস্বরূপ, ক্যাসকের কোনও প্যাকেজের নির্দিষ্ট সংস্করণ ইনস্টল করার কোনও ধারণা নেই। কোয়েলপা করে, তবে এটির জন্য আপনার গিট হ্যাশকে হার্ড-কোড করা আপনার init-ফাইলের মধ্যে দরকার। সম্পূর্ণরূপে straight.eleschews package.el, আরও অনেক ব্যবহারের ক্ষেত্রে তৈরি করা ইউনিফাইড ডিজাইনের সাথে এর সমস্ত মূল কার্যকারিতাটি প্রতিস্থাপন করে।
  • এল-পেতে সুবিধা আপনি একেবারে থেকে প্যাকেজগুলি ইনস্টল করতে পারে হয়েছে সর্বত্র (সমস্ত পরিচিত ভার্সন কন্ট্রোল সিস্টেম, নির্বিচারে HTTP- র, সিস্টেম প্যাকেজ ম্যানেজার, EmacsWiki, এমনকি go get!?)। যাইহোক, এতগুলি উত্সকে সমর্থন করে, এল-গেট প্রকারের উন্নত প্যাকেজ পরিচালন ক্রিয়াকলাপ সরবরাহ করতে পারে না (যেমন পুনর্বিবেচনা লকফায়াল এবং ইন্টারেক্টিভ রিপোজিটরি পরিচালনার কাজগুলি সরবরাহ করে) যা straight.elসরবরাহ করে। straight.elকেবল গিটকেই সমর্থন করে, যেহেতু বেশিরভাগ প্যাকেজগুলি গিতের মাধ্যমে পাওয়া যায় এবং যেগুলি ইম্যাকস মিরর এর মাধ্যমে পাওয়া যায় না (আমি আপনাকে সাহস করি না যে এটি হতে পারে না!)! মনে রাখবেন যে straight.elতবুও অতিরিক্ত সংস্করণ-নিয়ন্ত্রণ ব্যাকেন্ডগুলি (যেমন মার্চুরিয়ালের জন্য) ভবিষ্যতে যুক্ত হওয়ার জন্য একটি এক্সটেনসিবল এপিআই সরবরাহ করে desired
  • বর্গের সাথে একটি অনুরূপ দর্শন রয়েছে straight.elএবং এটি একই সুবিধা অনেকগুলি দেয়। তবে, এটি একটি সম্পূর্ণ প্যাকেজ পরিচালক হতে পারেন করার জন্য ডিজাইন করা হয় না, এবং যেমন অন্যান্য সরঞ্জামগুলির সাথে উদ্বেগ ব্যবহার করা ডিজাইন করা হয়েছে epkg, auto-compileএবং Magit। বিপরীতে, straight.elস্ব-অন্তর্নিহিত এবং আপনার নিজের দ্বারা প্রয়োজনীয় সমস্ত কিছু সরবরাহ করে, এতে অতিরিক্ত কোনও কনফিগারেশন প্রয়োজন হয় না। এছাড়াও, বর্গ গিট সাবমোডিয়ুলগুলি ব্যবহার করে, যার ইন্টারফেসে কিছুটা রুক্ষ প্রান্ত রয়েছে, যেখানে straight.elস্বতন্ত্রভাবে পরিচালিত গিট সংগ্রহস্থলগুলি ব্যবহার করা হয়, অতিরিক্ত নমনীয়তা এবং শক্তি দেয়।
  • ম্যানুয়াল পদ্ধতিতেও রয়েছে, তবে আমি এটির প্রস্তাব দিই না। প্রথম কয়েক মাস পরে, আপনি বর্গকে নতুন করে সরিয়ে দেবেন। তারপরে পরের কয়েক মাস পরে, আপনি আবার নতুন করে তৈরি করতে পারেন straight.el। আপনি প্যাকেজ পরিচালনা সম্পর্কে অনেক কিছু শিখবেন, যদিও;)

4

যদিও মতামত এবং মতামত রয়েছে, আমি মনে করি যে এল-গেট এখনও প্রাসঙ্গিক, @ লুনারিওনের দৃ of় মতামত সত্ত্বেও (রেজিপও)।

আমি কাঁচা প্যাকেজ.ইলকে কিছুক্ষণের জন্য ব্যবহার-প্যাকেজ সহ (2 থেকে 3 বছর) ব্যবহার করেছি, তারপরে এল- গেটে স্যুইচ করেছি , তারপরে ক্যাস্ক করুন । কিছুদিন আগে আমি এল-গানে ফিরে গিয়েছিলাম। পূর্বের প্যাকেজ.এল , অন্য অনেকের মতো আমি ম্যানুয়ালি অ্যাড-অনগুলি পরিচালনা করছি।

আমি কেন এল-গানে ফিরে গেলাম ? আমি গিট রেপো না হওয়ার বিষয়ে কিছু ক্যাস্ক অদ্ভুততার মুখোমুখি হয়েছি (আমার একটি গিথুব প্যাকেজ যা মেল্পায় নেই), যখন সেই প্যাকেজটি আসলে গিট ব্যবহার করছে ... আমি তদন্ত বা টিকিট তৈরি করতে বিরক্ত করিনি, কেবল আমার পুরানোটিকে টানলাম এল- গিগাবাইট কনফিগারেশন এবং আমি সময়মতো যেতে ভাল ছিল।

এল-গেট সম্পর্কে আমি পছন্দ করি এমন কয়েকটি জিনিস :

  • এটি একাধিক গিটকে সমর্থন করে না, কেবল গিট।
  • এতে পর্যাপ্ত প্রাক-সংজ্ঞায়িত রেসিপি রয়েছে
  • শুরুতে কাস্কের চেয়ে দ্রুত aster
  • এবং হ্যাঁ @ লুনারিওর্ন, উইকি কোড বিতরণের কোনও জায়গা নয়, এখনও ইমাসকিরার ( গিথুব ) তে কোনও ক্লোন না থাকলে আমি গিথুব রেপো তৈরি করতে চাই না ।
  • স্ব অন্তর্ভুক্ত, ক্যাসকের সাথে আপনার একটি বাহ্যিক ইনস্টলেশন প্রয়োজন। অধ্যায়গুলির মাধ্যমে নেভিগেট করতে আমি অলআউট-মোড সহ একটি একক init ফাইল (কোনও মডিউলার কনফিগারেশন নয়) ব্যবহার করি ।
  • এল-গেট ব্যবহারকারীর দৃষ্টিকোণ থেকে যথেষ্ট সহজ।

দ্রষ্টব্য: আমি ওএসএক্স এবং লিনাক্সের অধীনে ইমাকস গিট হেড চালাচ্ছি।


আমি দুঃখিত যে ক্যাসকে নিয়ে আপনার সমস্যা ছিল তবে আমি মনে করি না যে আপনার ব্যক্তিগত সমস্যা এবং ক্যাসকে নিয়ে আপনার আপত্তি হতাশার এই প্রশ্নের কোনও প্রাসঙ্গিকতা রয়েছে। বিশেষত, ক্যাস্ক খুব সংকীর্ণ সুযোগ (মূলত প্যাকেজ বিকাশ) সহ ELPA এর সম্মুখভাগে। আপনি যখন এটি প্যাকেজ পরিচালনার জন্যও ব্যবহার করতে পারেন তবে এর ধারণাগতভাবে অরথোগোনাল এল- গেট
লুনারিওর

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

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

দেখুন এবং আমার বক্তব্যটি হ'ল এল-গেটটি আজকাল আর বিশেষভাবে ঠিক হয় না, কারণ এটি ELPA এবং Emacs এর অন্তর্নির্মিত নির্ভরতা পরিচালনাকে, বিপদ এবং ডুপ্লিকেট প্যাকেজ ইনস্টলেশন ঝুঁকিপূর্ণকে বাইপাস করে। কোয়েলপা এল-গেটের মতো একই বৈশিষ্ট্য সরবরাহ করে তবে এর ত্রুটি নেই। আজকাল এটি আরও ভাল।
লুনারিওর

@rimero আমার ঠিক একই অভিজ্ঞতা ছিল। তারপরে, আমি কিছুদিন আগেই কোয়েলপা চেষ্টা করেছিলাম, এবং অন্তত আপাতত এটিকে ফেলে দিতে হয়েছিল। এল-গেটটি এখনও কমপক্ষে আমার ব্যবহারের ক্ষেত্রে আরও নমনীয়, শক্তিশালী এবং সামগ্রিক দ্রুত বলে মনে হচ্ছে। আমি বিশ্বাস করি যে তারা দুটি সম্পূর্ণ ভিন্ন দৃষ্টিভঙ্গি গ্রহণ করে, তাই এটি কোন ধরণের ইমাক ব্যবহারকারী তার উপরও নির্ভর করে। একটি বা অন্যের সাথে প্রতিশ্রুতিবদ্ধ হওয়ার আগে উভয়ই চেষ্টা করার পরামর্শ দেওয়া উচিত।
gsl

1

আপনি একবার দেখতে চান paradox। এটি অন্য প্যাকেজ ম্যানেজার নয়, তবে এর সামনের দিকের শেষ package.el। উদাহরণস্বরূপ, আপনি প্যাকেজগুলি আপডেট করার সময়, এটি জিজ্ঞাসা করা হয় যে আপনি সেগুলি ইনস্টল করতে চান এবং এক ধাপে পুরানোগুলি মুছতে চান কিনা।

আপনি যদি এটি ব্যবহার করেন তবে আপনি সম্ভবত আপনার init ফাইলটিতে সেট paradox-execute-asynchronouslyকরতে চান t

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