http://qs321.pair.com?node_id=11104989

suryaraj has asked for the wisdom of the Perl Monks concerning the following question:

I was working on a project that need some perl modules. I was trying to download the perl modules but it looks like there are so many dependencies and child-dependencies that were not downloaded. I need to download all the dependencies also so that I can install packages in the machine which has no internet access. Like an example, I had downloaded a zip file for ZMQ-LibZMQ3 from the url https://metacpan.org/release/ZMQ-LibZMQ3 But while trying to install in a machine without internet access, it is throwing the error of dependencies.

  • Comment on Downloading perl modules and all the dependencies at a time

Replies are listed 'Best First'.
Re: Downloading perl modules and all the dependencies at a time
by Corion (Patriarch) on Aug 25, 2019 at 17:52 UTC

    The easiest way is to use CPAN::Mini to create your own copy of a CPAN mirror. That way you have all current modules and can copy them onto an USB stick.

Re: Downloading perl modules and all the dependencies at a time
by davido (Cardinal) on Aug 25, 2019 at 18:23 UTC

    Another easiest way is Carton.


    Dave

Re: Downloading perl modules and all the dependencies at a time
by tinita (Parson) on Aug 25, 2019 at 22:43 UTC
    Like davido suggested, Carton is probably the easiest way. Ideally you should have the same perl version on both machines for that.

    You could also try the dependency graph tool https://cpandeps.grinnz.com/ to get a list of all distributions, but it requires some manual work to get all the tarball urls.
    Also, not all dependencies are known without running Makefile.PL, because some dependencies can only be determined dynamically (depending on which OS it is running, etc.)
Re: Downloading perl modules and all the dependencies at a time ( autobundle cpanm --save-dists tardir -L extlib Plack )
by Anonymous Monk on Aug 25, 2019 at 23:57 UTC
Re: Downloading perl modules and all the dependencies at a time
by karlgoethebier (Abbot) on Aug 26, 2019 at 10:01 UTC

    Don’t you think it‘s better to have some dev environment with internet acccess set up in something like VMWare behind a good firewall than plugin some dubious USB stick (probably from @home 👺)? In combination with perlbrew and a versioning system of your choice a setup like this is yet another promised land. You may need to ask your local admin. Regards, Karl

    «The Crux of the Biscuit is the Apostrophe»

    perl -MCrypt::CBC -E 'say Crypt::CBC->new(-key=>'kgb',-cipher=>"Blowfish")->decrypt_hex($ENV{KARL});'Help