Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^3: Install Module with no admin permission

by Haarg (Curate)
on Jul 06, 2017 at 12:55 UTC ( #1194376=note: print w/replies, xml ) Need Help??


in reply to Re^2: Install Module with no admin permission
in thread Install Module with no admin permission

Your suggestion included the --bootstrap option, which is primarily meant to download and install toolchain modules new enough for everything to work with local::lib. Your instructions include first upgrading ExtUtils::MakeMaker, but if an older CPAN.pm or Module::Build installed, the bootstrap process will try to upgrade them which in this case won't work. The bootstrapping process will ignore the failure and continue though. Also, the -I path used is wrong, but unnecessary. The proper paths to load the newly installed modules would be $HOME/perl5/lib/perl5, not $HOME/perl5/lib. But just passing a -I option wouldn't help the commands run by make find the newly installed ExtUtils::MakeMaker and its helper modules. The --bootstrap option takes care of getting the library paths set properly.

My suggestion for manual bootstrapping from pre-downloaded files would probably be to extract both local::lib and ExtUtils::MakeMaker, then install with:

eval `perl -I"$LOCAL_LIB_EXTRACTED_DIR/lib" -Mlocal::lib` cd $EXTUTILS_MAKEMAKER_EXTRACTED_DIR perl Makefile.PL && make test && make install cd $LOCAL_LIB_EXTRACTED_DIR perl Makefile.PL && make test && make install

Replies are listed 'Best First'.
Re^4: Install Module with no admin permission
by marto (Archbishop) on Jul 06, 2017 at 13:44 UTC

    Ah, yes, this is much cleaner! Would it be possible to add this to the documentation? If I could add one thing it'd be wget, extraction and cd lines, purely so that the note would a complete end to end process people could follow. Thanks.

Re^4: Install Module with no admin permission
by avico78 (Novice) on Jul 06, 2017 at 13:53 UTC

    Tnx, Honestly ... most of the Info u wrote is not really clear for me , as i never deal with Perl installation but coding onlyu Tried:

    [xxxxx@xxxx ExtUtils-MakeMaker-7.30]$ eval `perl -I"/testusers/env/tes +t/nadavp/perl5/lib" -Mlocal::lib` Bad : modifier in $ (/).

    Also:

    xxxp@illxxx ExtUtils-MakeMaker-7.30]$ ksh Hello !!!! $ export LOCAL_LIB_EXTRACTED_DIR=/testusers/env/test/nadavp/perl5 $ eval `perl -I"$LOCAL_LIB_EXTRACTED_DIR/lib" -Mlocal::lib` ksh: eval: line 1: ${?PERL_LOCAL_LIB_ROOT}: bad substitution

      Below is a version of what Haarg has kindly provided. Since you're having problems I've included the current working directory, listings of the extracted modules and the solution above using full paths:

      marto@pihost:~$ pwd /home/marto marto@pihost:~$ ls drwxr-xr-x 9 marto marto 4096 Jul 6 13:17 ExtUtils-MakeMaker-7. +30 drwxr-xr-x 9 marto marto 4096 Jul 6 13:41 local-lib-2.000023 ...... marto@pihost:~$ eval `perl -I"/home/marto/local-lib-2.000023/lib" -Mlo +cal::lib` marto@pihost:~$ cd ExtUtils-MakeMaker-7.30 marto@pihost:~$ perl Makefile.PL && make test && make install .... this works without issue marto@pihost:~$ cd ../local-lib-2.000023 marto@pihost:~$ perl Makefile.PL && make test && make install .... again, this works without issue

      Try to replicate this working setup, substituting paths where appropriate.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1194376]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2020-03-31 03:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    To "Disagree to disagree" means to:









    Results (179 votes). Check out past polls.

    Notices?