Instalacja modułów perla
Z openSUSE wiki
Spis treści |
Co to jest CPAN?
CPAN - ang. Comprehensive Perl Archive Network to źródło dokumentacji oraz modułów do języka Perl Plik:Camel.png
Zgromadzone moduły (ponad 18000 tys.) mają bardzo wiele zastosowań, np.
- umożliwiają dostęp do baz danych, np. MySQL, PostgreSQL, Oracle
- protokołów komunikacyjnych, np. TCP/IP
- tworzenie obrazków, np. jpg
- wykonywanie skomplikowanych operacji matematycznych
- posiadają rozszerzenia innych języków programowania, np. Clips, Java, PHP, C/C++
- posiadają interfejsy do innych systemów operacyjnych, np. Sun::Solaris
Więcej informacji na temat CPAN znaleźć możemy na stronie http://en.wikipedia.org/wiki/CPAN
Najszybsza instalacja modułów
Jedynie to co nam najbardziej potrzebne, to dostęp do internetu oraz openSUSE Plik:Kameleon.png.
Dla usera root (na hoście sphinx), aby użyć opcji CPAN, wykonaj kolejno:
sphinx:~ # perl -MCPAN -e shell
Instalacja samego CPAN:
cpan> install CPAN
Aby mieć zawsze najnowszą wersję CPAN, wykonaj:
cpan> reload cpan cpan> install Bundle::CPAN
Przykład: Najszybsza instalacja danego modułu, np. http::exception.
cpan> install HTTP::Exception
Wymagane moduły
Podzielone na 3 części ponieważ nie zmieściło się w jednej linijce!
cpan> install DateTime DBI DBD::mysql Class::Autouse Digest::MD5 Digest::SHA1 HTML::Template Image::Size MIME::Lite MIME::Words cpan> install URI::URL HTML::Tagset HTML::Parser LWP::Simple LWP::UserAgent GD Mail::Address Unicode::MapUTF8 XML::Simple cpan> install IO::WrapTie Unicode::CheckUTF8 Captcha::reCAPTCHA Digest::HMAC_SHA1 Compress::Zlib Net::DNS Bundle::DBD::mysql
Inne ciekawe moduły
Moduł SOAP
cpan> install SOAP::Lite
Moduł Emacs
cpan> install Emacs
Moduły C/C++
cpan > install C::DynaLib C::Include C::Scan
Moduły Python:
cpan> install Python Python::Err Python::Object
Moduły PHP & Apache:
cpan> install PHP PHP::Interpreter PHP::Serialization::XS Apache::Emulator GTop Apache2::Ajax Validator::Custom::HTMLForm
Interfejsy Perl 6:
cpan> install Perl6::Classes Perl6::Comments Perl6::Doc Perl6::Feed Perl6::Interpolators Perl6::Pod Perl6::Slurp::Interpret cpan> install Perl6::Subs Perl6::Variables v6 Perl6::Parameters Bundle::Perl6
ASP.NET
cpan> install Bundle::Apache::ASP Bundle::Apache::ASP::Extra
Moduły MySQL:
cpan> install MySQL::Admin MySQL::Backup MySQL::Handler MySQL::Log::ParseFilter MySQL::Packet MySQL::Sandbox cpan> install Mysql MySQL::TableInfo Test::DataLoader::MySQL Bundle::DBD::mysql DBD::mysql DBD::mysql::Install
Moduły PostgreSQL:
cpan> install Postgres
Aktualizacja modułów
Uwaga! Proces aktualizacji jest bardzo długotrwały!
Aby zaktualizować wszystkie moduły wydaj komendę:
cpan> upgrade
Pomoc cpan
Aby skorzystać z pomocy cpan, użyjemy opcji:
cpan> h
I tak dowiemy się, np, że:
cpan> q //to wyjście z cpan cpan> m //wyświetla moduły do instalacji cpan> r //wyświetla moduły zainstalowane
Inną formą pomocy jest:
kris@sphinx:~> perldoc CPAN kris@sphinx:~> perldoc perllocal kris@sphinx:~> perldoc perlmodlib
Jeśli szybko chcemy znaleźć pomoc, np. dla modułu Apache::Emulator, to wpisujemy "perldoc Module::Name", czyli:
kris@sphinx:~> perldoc Apache::Emulator
Jeśli szybko chcemy znaleźć pomoc, np. dla skryptu ssltunnel-1.0.pl, to wpisujemy "perldoc scriptname", czyli:
kris@sphinx:~> perldoc ssltunnel-1.0.pl
Inne przydatne informacje
- Więcej na temat Perla możesz dowiedzieć się m.in. programowanie-linux
- Więcej modułów możemy znaleźć na http://www.cpan.org lub skorzystać z bardzo fajnego narzędzia jakim jest http://search.cpan.org
- CPAN buduje wszystko w /root/.cpan
- Aby sprawdzić, którą wersję perl masz w systemie wydaj polecenie # perl -v
- Ustawienia konfiguracji:
cpan> o conf make /usr/bin/make cpan> o conf commit
Powyższy artykuł został również zamieszczony na programowanie-linux
cpan2rpm
Nie sposób znaleźć dystrybucję zawierającą wszystkie moduły perla, a ich kompilowanie ręcznie jest niewygodne i zostawia bałagan w systemie plików. Na szczęście istnieje skrypt cpan2rpm, który potrafi stworzyć pakiety rpm z archiwów zawierających źródła. Można go używać na wiele sposobów, w tym artykule zostaną przedstawione dwa najprzydatniejsze. Więcej informacji na: cpan2rpm
Podanie nazwy modułu
Wystarczy podać nazwę modułu, jako argument:
cpan2rpm GStreamer -- cpan2rpm - Ver: 2.028 -- Signatures not set up Upgrade check Fetch: HTTP -- module: GStreamer -- Found: GStreamer-0.09.tar.gz At: http://search.cpan.org//CPAN/authors/id/T/TS/TSCH Retrieving URL Metadata retrieval Tarball extraction: [/usr/src/packages/SOURCES/GStreamer-0.09.tar.gz] Unable to build module, the following dependencies have failed: ExtUtils::Depends >= 0.205 Glib >= 1.120 ExtUtils::PkgConfig >= 1.07 Stopped at /usr/bin/cpan2rpm line 491. Can't return to /tmp/y9uppvyp7Z/GStreamer-0.09 from /tmp/y9uppvyp7Z (No such file or directory) at /usr/lib/perl5/5.8.8/File/Temp.pm line 898 END failed--call queue aborted. -- Done --
Jak widać, skrypt potrafi sam znaleźć oraz sprawdzić, czy zależne moduły są zainstalowane - w tym wypadku nie ma ich. Na szczęście pakiety RPM z tymi modułami można znaleźć w repozytorium.
Pora na następny przykład, ale tym razem na module Readonly - wygodniejszym sposobie na tworzenie stałych w perlu niż wbudowana pragma "use constant":
cpan2rpm Readonly (kilkadziesiąt linijek niżej) RPM: /usr/src/packages/RPMS/noarch/perl-Readonly-1.03-1.noarch.rpm SRPM: /usr/src/packages/SRPMS/perl-Readonly-1.03-1.src.rpm -- Done --
Teraz wystarczy zainstalować utworzony przed chwilą pakiet pakiet:
rpm -Uvh /usr/src/packages/RPMS/noarch/perl-Readonly-1.03-1.noarch.rpm
Podanie scieżki do pliku
Co jednak zrobić, jeśli zamiast dostępu do internetu masz tylko moduł na dysku twardym? Na to też istnieje sposób:
cpan2rpm Readonly-1.03.tar.gz (kilkadziesiąt linijek niżej) RPM: /usr/src/packages/RPMS/noarch/perl-Readonly-1.03-1.noarch.rpm SRPM: /usr/src/packages/SRPMS/perl-Readonly-1.03-1.src.rpm -- Done --
Uwagi końcowe
Jak widać po listingach, wszystkie operacje zostały przeprowadzone na koncie root - to nie dobrze, jedyną przeprowadzoną operacją powinno być zainstalowanie gotowego pakietu RPM. Na szczęście można używać tego skryptu na koncie zwykłego użytkownika - wystarczy przygotować się w sposób opisany w innym artykule.
Więcej sposobów użycia oraz informacji można znaleźć w na stronie podręcznika systemowego poświęconej cpan2rpm.

