http://www.perlmonks.org?node_id=1194250


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

Resolving mirror.team-cymru.org (mirror.team-cymru.org)... failed: Nam +e or service not known. wget: unable to resolve host address ‘mirror. +team-cymru.org’

Looks like a networking problem. Can you access this from the command line of the machine in question? If not then you need to speak to your sys/network admins. If you can you may still need their help to configure cpan, e.g. WORKING WITH CPAN.pm BEHIND FIREWALLS. FWIW cpanm has fewer dependancies. I work mainly offline using a cpan mirror created by minicpan, copied onto our clients network, with no internet access.

Replies are listed 'Best First'.
Re^4: Install Module with no admin permission
by avico78 (Novice) on Jul 05, 2017 at 14:36 UTC

    the machine i'm working on is very securied and no one will give internet access.. I must say it very frustrated i can't just download the modules put them in the folder do some Perl trick and thats it....:) why i cant just create the private folder with the modules i need without using the old one installed elsewhere? Is there some clear guide how to do it?

      This is exactly the situation I'm in, at home or elsewhere create a minicpan, transfer it using the clients signed off mechanism, extract and then install via cpanm as normal. Another alternative would be to install your own version of perl specific to your application elsewhere on the system. One argument for doing so is leaving the system perl alone, which could be a convincing argument for this course of action given the environment in which you are working.

      So local::lib now has a prerequsite of EUMM v7. You seem to have a method for transferring files onto this system somehow, here's a method for getting an up to date EUMM & local::lib installed. In my example below ignore the wgets for the packages, I'll leave them in for a complete end to end illustration:

      marto@pihost:~$ perl -v This is perl 5, version 14, subversion 2 (v5.14.2) built for arm-linux +-gnueabihf-thread-multi-64int ........ marto@pihost:~$ wget http://search.cpan.org/CPAN/authors/id/H/HA/HAARG +/local-lib-2.000023.tar.gz marto@pihost:~$ wget http://search.cpan.org/CPAN/authors/id/B/BI/BINGO +S/ExtUtils-MakeMaker-7.30.tar.gz marto@pihost:~$ tar xzf ExtUtils-MakeMaker-7.30.tar.gz marto@pihost:~$ cd ExtUtils-MakeMaker-7.30/ marto@pihost:~$ perl Makefile.PL INSTALL_BASE=$HOME/perl5 marto@pihost:~$ make marto@pihost:~$ make test marto@pihost:~$ make install marto@pihost:~$ cd .. marto@pihost:~$ tar xzf local-lib-2.000023.tar.gz marto@pihost:~$ cd local-lib-2.000023/ marto@pihost:~$ perl -I $HOME/perl5/lib Makefile.PL --bootstrap marto@pihost:~$ make marto@pihost:~$ make test marto@pihost:~$ make install

      Now follow the remainder of the local::lib config. As mentioned earlier a minicpan is a great advantage working the sort of envrionements you and I seem to. After the above I installed cpanm and was able to use it to automatically install modules without issue. Let me know if this causes any problems.

      Update: As mentioned earlier, we installed our own perl, which is far more recent than the system perl, in another directory, and all our apps use this. Negates lots of issues. Our client saw this as a sane and logical suggestion, keeping clear of the system perl.

        I installed ExtUtils-MakeMaker-7.30

        [xxxp@illinxxx ExtUtils-MakeMaker-7.30]$ perl -Mlocal::lib Makefile.PL Using included version of Parse::CPAN::Meta (1.4414) because it is not + already installed. Using included version of CPAN::Meta (2.143240) because it is not alre +ady installed. Using included version of CPAN::Meta::YAML (0.011) because it is not a +lready installed. Using included version of JSON::PP (2.27203) because it is not already + installed. Using included version of ExtUtils::Manifest (1.70) as it is newer tha +n the installed version (1.61). Using included version of CPAN::Meta::Requirements (2.131) because it +is not already installed. Using included version of ExtUtils::Install (2.06) as it is newer than + the installed version (1.58). Generating a Unix-style Makefile Writing Makefile for ExtUtils::MakeMaker Writing MYMETA.yml and MYMETA.json ..make... ...make test return: [nadavp@illin4615 ExtUtils-MakeMaker-7.30]$ make test PERL_DL_NONLAZY=1 "/usr/bin/perl" "-Iblib/arch" "-Iblib/lib" "-MExtUti +ls::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switch +es; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00compile.t ............. ok t/01perl_bugs.t ........... ok t/02-xsdynamic.t .......... skipped: ExtUtils::CBuilder not installed +or couldn't find a compiler t/03-xsstatic.t ........... skipped: ExtUtils::CBuilder not installed +or couldn't find a compiler t/arch_check.t ............ ok t/backwards.t ............. ok t/basic.t ................. ok t/build_man.t ............. ok t/cd.t .................... ok ..... Result: PASS

        going back to local-lib-2.000023 and install

        [xxxx@illin4615 local-lib-2.000023]$ perl -Mlocal::lib Makefile.PL Warning: prerequisite ExtUtils::MakeMaker 7.00 not found. We have 6.68 +. Writing Makefile for local::lib

        ... I dont understand whats wrong, I install the ExtUtils::MakeMaker , I think locally but when i try to install the local::lib it still see the old verison of ExtUtils::MakeMaker