আমি এই ত্রুটি পেয়েছি:
Can't locate Foo.pm in @INC
এটি ইনস্টল করার সহজ উপায় কি ডাউনলোড, আনট্রিং, মেকিং ইত্যাদির চেয়ে আরও সহজ উপায়?
cpan
।
আমি এই ত্রুটি পেয়েছি:
Can't locate Foo.pm in @INC
এটি ইনস্টল করার সহজ উপায় কি ডাউনলোড, আনট্রিং, মেকিং ইত্যাদির চেয়ে আরও সহজ উপায়?
cpan
।
উত্তর:
ইউনিক্সে :
সাধারণত আপনি আপনার শেল সিপিএন শুরু :
# cpan
এবং টাইপ
install Chocolate::Belgian
বা সংক্ষিপ্ত আকারে:
cpan Chocolate::Belgian
উইন্ডোজে :
আপনি যদি উইন্ডোজটিতে অ্যাক্টিভার্ল ব্যবহার করে থাকেন তবে পিপিএম (পার্ল প্যাকেজ ম্যানেজার) এর CPAN.pm এর মতো কার্যকারিতা অনেকটাই থাকে।
উদাহরণ:
# ppm
ppm> search net-smtp
ppm> install Net-SMTP-Multipart
দেখতে আমি কিভাবে পার্ল মডিউল ইনস্টল করবেন? সিপিএএন FAQ এ
অনেক বিতরণ প্যাকেজ হিসাবে প্রচুর পার্ল মডিউল বহন করে।
apt-cache search 'perl$'
pacman -Ss '^perl-'
dev-perl
স্বয়ংক্রিয়ভাবে (সুরক্ষা) আপডেটগুলি এবং অপসারণের স্বাচ্ছন্দ্য থেকে আপনার উপকার হওয়ায় আপনার এগুলি সর্বদা পছন্দ করা উচিত । এটি সিপিএন সরঞ্জাম নিজেই বেশ জটিল হতে পারে।
জেন্টুর জন্য জি- সিপিএন নামে একটি দুর্দান্ত সরঞ্জাম রয়েছে যা সিপিএএন থেকে মডিউলটি তৈরি করে / ইনস্টল করে এবং আপনার জন্য একটি জেন্টু প্যাকেজ ( ইবিল্ড ) তৈরি করে ।
ppm
হাইফেন ব্যবহার করে -
কারণ আপনি যে ডিস্ট্রিবিউশনটি ইনস্টল করতে চান তা নির্দিষ্ট করেছেন , যা অনেক বেশি সত্য। উদাহরণস্বরূপ, আপনি ব্যবহার করেন cpan
ইনস্টল করতে LWP
, LWP::Simple
অথবা LWP::UserAgent
এটা বন্টন ইনস্টল করবে libwww-perl
আপনার জন্য। বেশিরভাগ বিতরণে একটি সমমানের নাম সহ একটি একক মডিউল থাকে তবে এর মতো কয়েকটি ব্যতিক্রম রয়েছে
ব্যবহার করে দেখুন অ্যাপ :: cpanminus :
# cpanm Chocolate::Belgian
এটি কেবল স্টাফ ইনস্টল করার জন্য দুর্দান্ত। এটি সিপিএএন বা সিপিএএনপিএলএস-এর আরও জটিল কোনও কার্যকারিতা সরবরাহ করে না, সুতরাং এটি ব্যবহার করা সহজ, আপনি কোন মডিউলটি ইনস্টল করতে চান তা যদি আপনি জানেন। আপনি যদি ইতিমধ্যে cpanminus না পেয়ে থাকেন তবে কেবল টাইপ করুন:
# cpan App::cpanminus
এটি ইনস্টল করতে।
একেবারে সিপিএন ব্যবহার না করে এটি ইনস্টল করাও সম্ভব। প্রাথমিক বুটস্ট্র্যাপ পদ্ধতিটি হ'ল,
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
আরও তথ্যের জন্য অ্যাপ :: সিপেনমিনাস পৃষ্ঠাতে যান এবং ইনস্টলেশনের বিভাগটি দেখুন।
cpan
ইনস্টল করতে ব্যবহার করা App::cpanminus
কিছুটা বিজোড়। সাধারণ ইনস্টল নির্দেশাবলী cpminmin.us থেকে এর একটি অংশ ডাউনলোড করার এবং এটি ইনস্টল করার জন্য এটি ব্যবহার করে একটি বুটস্ট্র্যাপিং পদ্ধতি জড়িত । এটি কনফিগারেশন cpan
এবং একটি (তারপরে) অকেজো .cpan
ডিরেক্টরি তৈরি করা এড়ায় ।
cpanminus
টার্মিনাল থেকে ইনস্টল করতে পারেন । আমি স্ক্রিনে ত্রুটিযুক্ত লগগুলি রাখার পরিবর্তে এগুলি অস্থায়ী লগ ফাইলগুলিতে সঞ্চয় করে এবং ত্রুটির ক্ষেত্রে পথ দেয় বলে এর cpanm
চেয়ে আরও ভাল আমি খুঁজে পাই cpan
।
আমি লক্ষ করি কিছু লোক সুডোর অধীনে একটি রান সিপিএন করার পরামর্শ দিচ্ছে। সিস্টেম ডিরেক্টরির মধ্যে ইনস্টল করতে প্রয়োজনীয় ব্যবহার করা হয়, কিন্তু CPAN শেল আধুনিক সংস্করণ আপনি এটা কনফিগার করতে উবুন্টু ব্যবহার করার অনুমতি দেয় শুধু ইনস্টল করার জন্য। এটি অনেক বেশি নিরাপদ, যেহেতু এর অর্থ হল পরীক্ষাগুলি রুট হিসাবে চালায় না।
আপনার যদি পুরানো সিপিএএন শেল থাকে তবে কেবল নতুন সিপিএন ইনস্টল করুন ("ইনস্টল করুন সিপিএএন") এবং আপনি যখন শেলটি পুনরায় লোড করেন তখন আপনাকে নতুন নির্দেশিকা কনফিগার করার অনুরোধ জানানো উচিত।
আজকাল, আমি যখন পুরানো সিপিএএন সহ একটি সিস্টেমে থাকি, তখন আমি প্রথমে শেলটি আপডেট করে এটি করার জন্য সেট আপ করি যাতে আমি আমার বেশিরভাগ সিপিএন কাজ করতে পারি সাধারণ ব্যবহারকারী হিসাবে।
এছাড়াও, আমি দৃ strongly়ভাবে পরামর্শ দিচ্ছি যে উইন্ডোজ ব্যবহারকারীরা স্ট্রবেরি পার্ল তদন্ত করুন । এটি পার্লের একটি সংস্করণ যা প্রি-কনফিগার করা সিপিএএন শেল পাশাপাশি একটি সংকলক সহ প্যাকেজযুক্ত। এটিতে বাহ্যিক সি লাইব্রেরি নির্ভরতা, উল্লেখযোগ্যভাবে এক্সএমএল :: পার্সার সহ কয়েকটি হার্ড-টু-কম্পাইল পার্ল মডিউল অন্তর্ভুক্ত রয়েছে। এর অর্থ হ'ল মডিউলগুলি ইনস্টল করার ক্ষেত্রে আপনি প্রতিটি পার্ল ব্যবহারকারীর মতো একই কাজ করতে পারেন এবং জিনিসগুলি অনেক বেশি "কেবলমাত্র" কাজ করতে থাকে।
install CPAN
কোথা থেকে? $sudo apt-get install cpan
?
App::cpanminus
, এটি ব্যবহার করে এটি এমন আনন্দ। ফিলিপ পটার এখানে তার উত্তরে এটির পরামর্শ দেয় এবং আপনি এই চস চেষ্টা করতে পারেন । মালিকদের উত্তর ।
আপনি যদি উবুন্টুতে থাকেন এবং আপনি প্রাক-প্যাকেজযুক্ত পার্ল মডিউলটি ইনস্টল করতে চান (উদাহরণস্বরূপ, জিও :: আইপিফ্রি) এটি ব্যবহার করে দেখুন:
pt অ্যাপটি-ক্যাশে অনুসন্ধান পার্ল জিও :: আইপিফ্রি libgeo-ipfree-perl - আইপি অ্যাড্রেস পার্ল মডিউলটির এক দেশ দেখুন b sud-libgeo-ipfree-perl ইনস্টল করুন
কয়েক জন লোক সিপিএন ইউটিলিটি উল্লেখ করেছে তবে এটি কেবল শেল শুরু করার চেয়ে বেশি। আপনি যে মডিউলগুলি ইনস্টল করতে চান তা কেবল এটি দিয়ে দিন এবং এটি কাজ করতে দিন।
$prompt> cpan Foo::Bar
যদি আপনি এটিকে কোনও আর্গুমেন্ট না দেন তবে এটি CPAN.pm শেলটি শুরু করে। এটি ইউনিক্স, ম্যাক-এ কাজ করে এবং উইন্ডোজ (বিশেষত স্ট্রবেরি পার্ল) এ ঠিক হওয়া উচিত।
সিপিএন সরঞ্জামের সাহায্যে আপনি আরও কিছু করতে পারেন। এখানে বর্তমান বৈশিষ্ট্যগুলির সংক্ষিপ্তসার রয়েছে (যা সিপিএএন.পিএম এবং পার্লের সাথে আসে তার চেয়ে নতুন হতে পারে):
-a
Creates the CPAN.pm autobundle with CPAN::Shell->autobundle.
-A module [ module ... ]
Shows the primary maintainers for the specified modules
-C module [ module ... ]
Show the Changes files for the specified modules
-D module [ module ... ]
Show the module details. This prints one line for each out-of-date module (meaning,
modules locally installed but have newer versions on CPAN). Each line has three columns:
module name, local version, and CPAN version.
-L author [ author ... ]
List the modules by the specified authors.
-h
Prints a help message.
-O
Show the out-of-date modules.
-r
Recompiles dynamically loaded modules with CPAN::Shell->recompile.
-v
Print the script version and CPAN.pm version.
এছাড়াও হ্যাঁ, এমনকি আপনি সিপিএএনও ব্যবহার করতে পারেন দেখুন । এটি দেখায় যে আপনি কীভাবে মূল বা sudo অ্যাক্সেস ছাড়াই সিপিএএন ব্যবহার করতে পারেন।
অটো একটি ভাল পরামর্শ দিয়েছে । এটি ডেবিয়ানদের জন্যও কাজ করে, পাশাপাশি অন্য কোনও ডেবিয়ান ডেরিভেটিভও। অনুপস্থিত অংশটি হ'ল যখন অ্যাপ্ট-ক্যাশে অনুসন্ধানে কিছু খুঁজে না পাওয়া যায় তখন কী করা উচিত।
$ sudo apt-get install dh-make-perl build-essential apt-file
$ sudo apt-file update
তারপরে আপনি যখনই এলোমেলো মডিউলটি ইনস্টল করতে চান:
$ cd ~/some/path
$ dh-make-perl --build --cpan Some::Random::Module
$ sudo dpkg -i libsome-random-module-perl-0.01-1_i386.deb
এটি আপনাকে একটি ডিবে প্যাকেজ দেয় যা আপনি কিছু :: র্যান্ডম :: মডিউল পেতে ইনস্টল করতে পারেন। এখানে বড় সুবিধাগুলির মধ্যে একটি হ'ল ম্যান পেজ এবং মডিউল ছাড়াও নমুনা স্ক্রিপ্টগুলি আপনার ডিস্ট্রোর পছন্দের স্থানে স্থাপন করা হবে। ডিস্ট্রো যদি কখনও :: র্যান্ডম :: মডিউলটির নতুন সংস্করণটির জন্য অফিশিয়াল প্যাকেজ নিয়ে আসে তবে আপনি আপগ্রেড করার সময় এটি স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে যাবে।
ইতিমধ্যে উত্তর এবং স্বীকৃত উত্তর - তবে যাইহোক:
আইপিএইচও, সিপিএএন মডিউলগুলি ইনস্টল করার সহজ উপায় (সিস্টেমগুলির মতো ইউনিক্সে, এবং বিস্ময়কর সম্পর্কে কোনও ধারণা নেই):
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
উপরেরটি "শূন্য কনফিগারেশন সিপিএএন মডিউল ইনস্টলার" নামে পরিচিত cpanm
। (ইনস্টল করতে কয়েক মিনিট সময় নিতে পারে - প্রক্রিয়াটি ভাঙ্গবেন না)
এবং পরে - কেবল:
cpanm Foo
cpanm Module::One
cpanm Another::Module
প্রচুর সুপারিশ CPAN.pm
, যা দুর্দান্ত, তবে আপনি যদি ব্যবহার করেন Perl 5.10
তবে আপনি CPANPLUS.pm
যা পছন্দসই তবে এর থেকেও অ্যাক্সেস পেয়েছেন CPAN.pm
।
এবং অবশ্যই এটি CPAN
পার্লের পুরানো সংস্করণ ব্যবহার করা লোকদের জন্য উপলভ্য । কেন চেষ্টা করছ না:
$ cpan CPANPLUS
অনেক সময় এমন হয় যে "মেক টেস্ট খারাপ অবস্থা ফিরে এসেছিল, জোর করে ইনস্টল করবে না" এই বার্তাটি দিয়ে সিপিএন ইনস্টল কমান্ড ব্যর্থ হয় "
সেক্ষেত্রে মডিউলটি ইনস্টল করার উপায় নিম্নলিখিত:
perl -MCPAN -e "CPAN::Shell->force(qw(install Foo::Bar));"
উবুন্টুতে বেশিরভাগ পার্ল মডিউলগুলি ইতিমধ্যে প্যাকেজযুক্ত, সুতরাং অন্যান্য সিস্টেমগুলির তুলনায় ইনস্টল করা অনেক দ্রুত যা সংকলন করতে হয়।
Foo::Bar
কম্যান্ড প্রম্পটে ইনস্টল করার জন্য উদাহরণস্বরূপ সাধারণত আপনি কেবল এটি করেন:
sudo apt-get install libfoo-bar-perl
দুর্ভাগ্যক্রমে সমস্ত মডিউল সেই নামকরণের কনভেনশন অনুসরণ করে না।
এমনকি এটি কাজ করা উচিত:
cpan -i module_name
সিপিএন কমান্ড হিসাবে ব্যবহার করুন cpan Modulename
$ cpan HTML::Parser
নির্ভরতা ইনস্টল করতে স্বয়ংক্রিয়ভাবে নীচের অনুসরণ করুন
$ perl -MCPAN -e shell
cpan[1]> o conf prerequisites_policy follow
cpan[2]> o conf commit
exit
আমি অ্যাপ :: সিপেনমিনাস পছন্দ করি , এটি স্বয়ংক্রিয়ভাবে নির্ভরতা ইনস্টল করে। শুধু কর
$ cpanm HTML::Parser
2 টি উপায় যা আমি জানি:
পিপিএম ব্যবহার:
সঙ্গে উইন্ডোজ (ActivePerl) আমি ব্যবহার করেছি পিপিএম
কমান্ড লাইন থেকে পিপিএম টাইপ করুন। পিপিএম প্রম্পটে ...
ppm> install foo
অথবা
ppm> search foo
উপলব্ধ foo মডিউলগুলির একটি তালিকা পেতে। সমস্ত কমান্ডের জন্য সহায়তা টাইপ করুন
সিপান ব্যবহার:
আপনি এই জাতীয় সিপিএএন ( * নিক্স সিস্টেম ) ব্যবহার করতে পারেন :
perl -MCPAN -e 'shell'
আপনাকে একটি প্রম্পট দেয়
cpan>
প্রম্পটে ...
cpan> install foo (again to install the foo module)
CPN- র জন্য কমান্ডের তালিকা পেতে h টাইপ করুন
ফেডোরায় আপনি ব্যবহার করতে পারেন
# yum install foo
মডিউলটির জন্য ফেডোরার একটি বিদ্যমান প্যাকেজ রয়েছে।
উপর Fedora Linux
বা Enterprise Linux
, yum
এছাড়াও ট্র্যাক লাইব্রেরি নির্ভরতা Perl। সুতরাং, যদি পার্ল মডিউলটি উপলভ্য থাকে এবং কিছু আরপিএম প্যাকেজ সেই নির্ভরতা রফতানি করে তবে এটি আপনার জন্য সঠিক প্যাকেজটি ইনস্টল করবে।
yum install 'perl(Chocolate::Belgian)'
(সম্ভবত পার্ল-চকোলেট-বেলজিয়াম প্যাকেজ, এমনকি চকোলেটফ্যাক্টরি প্যাকেজ)
আমার পক্ষে সহজতম উপায়:
PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'install DateTime::TimeZone'
ক) স্বয়ংক্রিয় পুনরাবৃত্তি নির্ভরতা সনাক্তকরণ / সমাধান / ইনস্টল করা
খ) এটি শেল অনলাইনার, সেটআপ-স্ক্রিপ্টগুলির জন্য ভাল
যদি আপনি নতুন মডিউলটিকে এমন কোনও কাস্টম স্থানে রাখতে চান যা আপনার সিপান শেলটি ব্যবহারের জন্য কনফিগার করা হয়নি, তবে সম্ভবত, নিম্নলিখিতটি কার্যকর হবে।
#wget <URL to the module.tgz>
##unpack
perl Build.PL
./Build destdir=$HOME install_base=$HOME
./Build destdir=$HOME install_base=$HOME install
নিরাপদ সমাধান
সুরক্ষা সম্পর্কিত কোনও শব্দ ছাড়াই অনেক উত্তরে cpan
ইউটিলিটির (যা ব্যবহার করে CPAN.pm
) ব্যবহারের উল্লেখ রয়েছে । ডিফল্টরূপে, CPAN
২.২27 এবং পূর্ববর্তী urllist
কোনও কনফিগারেশন HTTP ইউআরএল (যেমন, http://www.cpan.org/ ) ব্যবহার করে, যা এমআইটিএম আক্রমণকে অনুমতি দেয়, সুতরাং এটি নিরাপত্তাহীন। CHECKSUMS
ফাইলগুলি ডাউনলোড করতে এটিই ব্যবহৃত হয় , যাতে এটির কোনও সুরক্ষিত ইউআরএল (উদাহরণস্বরূপ https://www.cpan.org/ ) এ পরিবর্তন করা দরকার ।
সুতরাং, সিপিএন চালানোর পরে এবং ডিফল্ট কনফিগারেশন স্বীকার করার পরে, আপনাকে MyConfig.pm
নিম্নলিখিত উপায়ে উত্পন্ন ফাইল (পুরো পথ আউটপুট) পরিবর্তন করতে হবে । প্রতিস্থাপন করা
'urllist' => [q[http://www.cpan.org/]],
দ্বারা
'urllist' => [q[https://www.cpan.org/]],
দ্রষ্টব্য: https পর্যাপ্ত নয়; আপনার বিশ্বাস করতে পারে এমন একটি ওয়েবসাইটও আপনার দরকার। সুতরাং, যদি আপনি কিছু স্বেচ্ছাচারী আয়না চয়ন করতে চান তবে সাবধান হন।
তারপরে আপনি cpan
সাধারণ উপায়ে ব্যবহার করতে পারেন ।
সুরক্ষিত ইউআরএল সম্পর্কে rt.cpan.org এ আমার বাগ রিপোর্ট report
https://www.cpan.org/
)।
পার্লের অ্যাক্টিভেট বিতরণ সহ উইন্ডোজে, পিপিএম কমান্ডটি ব্যবহার করুন ।
দেখে মনে হচ্ছে আপনি ইতিমধ্যে আপনার উত্তর পেয়েছেন তবে আমি বুঝতে পেরেছি যে আমি চিম ইন করব an উবুন্টু (বা ডিবিয়ান সার্ভার) এর কিছু স্ক্রিপ্টে আমি এটি করি
#!/usr/bin/perl
use warnings;
use strict;
#I've gotten into the habit of setting this on all my scripts, prevents weird path issues if the script is not being run by root
$ENV{'PATH'} = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin';
#Fill this with the perl modules required for your project
my @perl = qw(LWP::Simple XML::LibXML MIME::Lite DBI DateTime Config::Tiny Proc::ProcessTable);
chomp(my $curl = `which curl`);
if(!$curl){ system('apt-get install curl -y > /dev/null'); }
chomp(my $cpanm = system('/bin/bash', '-c', 'which cpanm &>/dev/null'));
#installs cpanm if missing
if($cpanm){ system('curl -s -L http://cpanmin.us | perl - --sudo App::cpanminus'); }
#loops through required modules and installs them if missing
foreach my $x (@perl){
eval "use $x";
if($@){
system("cpanm $x");
eval "use $x";
}
}
এটি আমার পক্ষে ভাল কাজ করে, সম্ভবত এখানে কিছু ব্যবহার করতে পারেন is