Hoe een Perl-module in Linux te installeren zonder roottoestemming
Het installeren van een Perl-module is geen geniaal werk, maar om het gedaan te krijgen zonder root-toegang kan een uitdagende taak zijn (natuurlijk niet onmogelijk). U kunt deze situatie tegenkomen als u geen rechten hebt op standaardmappen waar een Perl-module is geïnstalleerd. In deze tutorial zullen we zien hoe we een Perl-module kunnen installeren zonder root- of supergebruikerstoestemming door het te installeren in aparte niet-standaard directory's.
Eerste stap
Voordat we verder gaan, laten we een paar dingen duidelijk maken. Allereerst ga ik ervan uit dat Perl op uw systeem is geïnstalleerd. Afgezien daarvan gebruik ik de volgende mappen om de Perl-module te installeren:
/ home / perl_modules / bin / home / perl_modules / man / home / perl_modules / man / man1 / home / perl_modules / lib
U kunt deze mappen maken (bin, man, man / man3 en lib) waar u maar wilt. We zullen dat pad gebruiken in de Perl-configuratie. U moet het pad dat in de zelfstudie wordt gebruikt, vervangen door uw eigen directorypad.
Tweede stap
Nu moeten we enkele variabelen definiëren om Perl lokaal te configureren. Deze configuratie wordt gebruikt om de Perl-module te vertellen waar deze moet worden geïnstalleerd. Om dat te doen, zou ik voorstellen dat we al die variabelen in één bestand schrijven en het dan tijdens het installeren gebruiken. Het zal ons tijd en moeite besparen bij het schrijven van de lange opdrachten en zal goed zijn voor toekomstig gebruik.
Laten we zeggen dat we een bestand " perl_local_config " in de directory / home maken (het bestand kan waar je maar wilt worden gemaakt):
raak perl_local_config aan
Laten we nu dit bestand bewerken om de configuratievariabelen in te stellen. Schrijf de volgende variabelen erin:
PREFIX = / home / perl_modules \ INSTALLSCRIPT = / home / perl_modules / bin \ INSTALLBIN = / home / perl_modules / bin \ INSTALLMAN1DIR = / home / perl_modules / man1 \ INSTALLSITELIB = / home / perl_modules / lib
Derde stap
Download de Perl-module van de CPAN (of van waar u maar wilt). Pak het uit. Ga naar de module map. De standaardstappen voor het installeren van een Perl-module zijn nu:
perl Makefile.PL make make test make install doen (als alle tests succesvol zijn)
Omdat u geen root-toegang heeft, geeft de perl Makefile.PL een foutmelding. En hier komt het lokale configuratiebestand aan onze redding. Voer deze opdrachten een voor een uit:
perl Makefile.PL `cat / home / perl_local_config`
Als de Perl-module afhankelijk is van een andere Perl-module, zal de bovenstaande opdracht een fout genereren. Download en installeer dan de modules waarvan het afhankelijk is. Dezelfde procedure, die we hier bespreken, zou worden gevolgd.
make-test maken
Alle tests zouden met succes moeten slagen.
make install
Verdere probleemoplossing
Tijdens het uitvoeren van de Perl-module kan dit soort fouten genereren:
Kan Locale / Recode.pm niet vinden in @INC (@INC bevat: XXXXX ...... XXXXX) op / home / bin / your_perl_module regel XX.
Dat betekent dat Perl naar uw module op zoek is in de standaard lib-directory en niet in die waar u hem hebt geïnstalleerd. Om deze fout op te lossen, voegt u de lokaal gemaakte lib-directory (/ home / perl_modules / lib in het voorbeeld) als volgt toe aan het bibliotheekpad:
exporteer PERL5LIB = / home / perl_modules / lib / perl5 /: / home / perl_modules / lib / perl5 / site_perl:
Wijzig de paden met uw eigen directorypad.
Ik hoop dat de tutorial gemakkelijk te begrijpen en eenvoudig te volgen was. Ik hoop ook dat je nu Perl-modules lokaal kunt installeren, zonder supergebruikersrechten, zoals nu een kampioen. Ik zou je feedback waarderen. Abonneer u op de nieuwsbrief als u vindt dat de handleiding nuttig is en contact met u wilt houden voor meer updates. Genieten :)