Ja CPAN neklausa…
..tiem, kas nezin, vienkārši izsakoties – CPAN ir Perl moduļu instalators.
līdzīgi kā uz redhat:
yum install kautkas
vai uz debian:
apt-get install kautkas
tāpat var uzinstalēt Perl moduli (piemēram Device->SerialPort):
cpan Device::SerialPort
Ievērojiet sintaksi – tie dubultie koli ir svarīgi.
Par CPAN kopumā ir tā – vai nu tas strādā perfekti vai nestrādā gandrīz nemaz.
Un ja nestrādā parasti ir visai grūti saprast kas par lietu, jo CPAN autputs ir visai grūti lasāms. Tāds liels teksta blāķis.
Tātad ja CPAN failo un saka ka testi nesanāk, kompilēt kautko nemāk, utt. Daram tā:
Pieņemsim, ka gribējām uzinstalēt Net->SNMP moduli un instalācija nofailoja. Atkārtojam procedūru:
root@kaste:~ # cpan Net::SNMP
CPAN: Storable loaded ok (v2.18)
Going to read ‘/root/.cpan/Metadata’
Database was generated on Mon, 28 Jun 2010 15:27:05 GMT
CPAN: YAML loaded ok (v0.71)
Going to read 7 yaml files from /root/.cpan/build/
CPAN: Time::HiRes loaded ok (v1.9711)
DONE
Restored the state of none (in 0.1685 secs)
Running install for module ‘Net::SNMP’
Running Build for D/DT/DTOWN/Net-SNMP-v6.0.0.tar.gz
Has already been unwrapped into directory /root/.cpan/build/Net-SNMP-v6.0.0-AguA1o
Ctrl-C, tas ir viss ko vajag(pievēršam uzmanību pēdējai rindiņai):
Tātad ejam uz direktoriju, kurā atpakots vajadzīgais modulis:
cd /root/.cpan/build/Net-SNMP-v6.0.0-AguA1o
un darām tā:
perl Makefile.PL
Vienkārši izsakoties šis te aizstāj “./configure” komandu pirms kompilācijas. Ja modulis failoja ar CPAN, tad visdrīzak tas failos arī tagad, bet atšķirība ir tāda, ka tagad būs vieglāk redzēt, par problēmu.
Hints – ja neesat uz savas sistēmas neko kompilējis pirms tam, tad ļoti iespējams, ka failure iemesls ir triviāls – trūkst “make”, “gcc”, “glibc” utt. Uzliekam trūkstošo un mēģinam vēlreiz.
Svarīgi atcerēties, ka perl moduļi instalējas ļoti korekti. Respektīvi ja pēc failures pieliekam moduli ar roku (kā aprakstīju augstāk) ar “perl Makefile.PL; make; make install” CPAN par to zinās. Tā kā viss būs fine.
Ales.