সিপিএএন বনাম এপিটি: সংস্করণে দ্বন্দ্ব?


9

আমি এর উত্তর কোথাও খুঁজে পাচ্ছি না: এপিটি-র মাধ্যমে ইনস্টল করা কোনও মডিউল সিপিএএন-এর মাধ্যমে ইনস্টল করা কোনওটির সাথে দ্বন্দ্ব করে?

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

মডিউলগুলি যখন এপিটি-র মাধ্যমে ইনস্টল করা হয় তখনও সিপিএএন ব্যবহার করা উচিত?

উত্তর:


8

ডিবিয়ান এবং উবুন্টু সিপিএএন ( /usr/bin/cpanইউটিলিটি) এ মডিউলগুলি /usr/local/lib/ডিফল্টরূপে ইনস্টল করে। এবং ডিবিয়ান প্যাকেজগুলি তাদের ফাইলগুলিকে /usr/share/perl5/এবং এর মধ্যে রাখে /usr/lib/perl5/। সুতরাং ইনস্টল করা /usr/bin/cpanফাইলগুলি এপিটি-র মাধ্যমে ইনস্টল হওয়া ফাইলগুলি ওভাররাইট করে না।

সিস্টেম পার্ল ব্যবহারে কোনও ভুল নেই, এবং এপ্ট এবং সিপিএন কোড মিশ্রণটি সাধারণত কাজ করবে।

আপনি নিজের অ্যাপ্লিকেশন সংগ্রহস্থলগুলিতে ম্যানুয়ালি উপলব্ধ কোনও সিপিএন বিতরণ প্যাকেজ করতে পারেন to এটি dh-make-perl সরঞ্জামের সাহায্যে সহজ:

dh-make-perl --cpan Some::Module && cd Some-Module* && sudo debi

cpanইনস্টল করা মডিউলগুলি যেখানে অবস্থিত তা PERL দ্বারা নির্ধারিত হয় Config.pm। আমার উবুন্টু 11.04 উপর, এটা /usr/local/share/perl/5.10.1
রিকার্ডো মুরি

আমি মনে করি এটি /usr/local/shareখাঁটি পার্ল মডিউলগুলির /usr/local/libজন্য এবং এক্স স্টাফের জন্য।
বেরেকুক

6

আমি পার্লব্রু ব্যবহার করি । এটি পার্ল এবং সিপিএন এর স্থানীয় সংস্করণ ইনস্টল করে। এটি যা কিছু করে তা আপনার হোম ডিরেক্টরিতে করা হয়। এটি ইনস্টল এবং ব্যবহারের জন্য সরাসরি এগিয়ে এবং আপনি পার্লের সর্বশেষতম সংস্করণ ইনস্টল করতে পারেন।


2
আপনি যদি সিস্টেম পার্ল থেকে বিদায় নিতে চান তবে এটিও ভাল।
szabgab

4

সিপিএএন থেকে সরাসরি ইনস্টল করার সময় আমি স্থানীয় :: lib আপনার ব্যক্তিগত ডিরেক্টরিতে ব্যবহার করার পরামর্শ দেব। বুস্ট্র্যাপিং কৌশলটি https://metacpan.org/module/local::lib দেখুন

এইভাবে সিপিএএন ইনস্টল করা মডিউলটি কেবলমাত্র আপনার ব্যবহারকারীর দ্বারা ব্যবহৃত হবে এবং এটি এপিটি ব্যবহার করে ইনস্টল করা মডিউলগুলি থেকে খুব পরিষ্কার বিচ্ছিন্ন হবে।

আপনি যদি কোনও সমস্যার মুখোমুখি হন বা আপনি উবুন্টু আপগ্রেড করেন তবে সিপিএএন-ইনস্টলড মডিউলগুলি থেকে মুক্তি পাওয়া সহজ করে দেবে।

এইভাবে আমি উবুন্টুতে এটি ব্যবহার করি।


1

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

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

এটি সবসময় কার্যকর হয় না। কখনও কখনও আপনার কাছে रिपোতে নতুন পর্যাপ্ত জিনিস থাকে না বা আপনার প্রয়োজন এমন কিছু প্যাকেজ আপ হয় না। যে কোনও উপায়ে নিখুঁত নয় তবে আমি বিশ্বাস করি যে আরও উপযুক্ত হতে পারে be আপনি কী করছেন সে সম্পর্কে কেবল সচেতন হন এবং আপনার ঠিক হওয়া উচিত।


সম্পাদনা করুন - প্রায় ভুলে গেছেন, জিনিসগুলিকে বিভাগ করার আরও একটি ভাল উপায় রয়েছে যাতে সিস্টেমটির নিজস্ব পরিবেশ থাকতে পারে এবং আপনি যেটি বিকাশ করছেন তা তার নিজস্ব পরিবেশে থাকতে পারে (যে আপনি সিপিএএন দিয়ে সম্পূর্ণ পরিচালনা করেন), পাইথনের মতো virtualenv...

/programming/1423879/how-can-i-install-specialized-environments-for-different-perl-applications


আমি আশা করছিলাম যে সিপিএএন কিছু Siteবা siteডিরেক্টরিতে ইনস্টল করবে - বা কমপক্ষে আপনি এটি জোর করতে পারেন।
মেই

3
দ্রষ্টব্য: উবুন্টু-এ, cpanইনস্টল করা মডিউলগুলি / usr / লোকাল / শেয়ার / পার্ল (বা পিইআরএল দ্বারা সুনির্দিষ্ট অবস্থান Config.pm) এর মধ্যে শেষ হয়, যেখানে এপিটি প্যাকেজগুলি ডেবিয়ান নীতি অনুসারে / usr / share / perl5 এ শেষ হয়। সুতরাং তারা দ্বন্দ্ব করে না , এবং সিপিএএন এবং এপিটি ইনস্টলেশনের সাথে মিশ্রিত করা এবং এটি মিশ্রিত করা নিরাপদ, অন্য উত্তরগুলি বলে। (পাইথন এখানে ভাল উপমা নয়: পার্ল প্যাকেজিং এবং মডিউল হ্যান্ডলিং অনেকটা পৃথক এবং-পাইথনের চেয়ে উচ্চতর))
রিকার্ডো

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