Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Packaging perl modules for installation

by Anonymous Monk
on Sep 27, 2004 at 20:10 UTC ( #394329=perlquestion: print w/ replies, xml ) Need Help??
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I have a strict production environment. It is running a standard Perl installation. That is, it has no CPAN modules installed. I would like to package CPAN module installations into our release procedures. I can use PPM or anything else to install packages on on development machine.

For production I would mike to just copy the correct files to the proper Perl directories in production. Is there one static directory that collects all CPAN files that get downloaded? Is this directory or directories guaranteed to have the same name and location in hierarchy for different Perl versions?

Maybe there is an easier way to package an installation. Does anyone have other suggestions? Since production is a locked down environment PPM is out of the question. I can use PPM or anything else in a development environment and then package up the modules for installation though. Any ideas?

Thanks.

Comment on Packaging perl modules for installation
Re: Packaging perl modules for installation
by jZed (Prior) on Sep 27, 2004 at 20:50 UTC
    If some of the modules you are using are XS modules and the machines have different perl versions, then you may not be able to simply copy files even if you knew the @INC locations.

    Since production is a locked down environment PPM is out of the question.

    Do you mean that using PPM to retrieve remote files is out of the question or that using PPM at all is out of the question? Assuming all your machines are the same platform and can all use binary compatible XS modules, and assuming it's just the remote access that is stopping you, you can download the .ppds onto your development machine, write a script that successively calls PPM on all of the local .ppds, then distribute the script + .ppds to all the production machines. Running the script on each machine will use that machine's perl and @INC to do the local install but won't have to connect to the internet.

    You could also do something similar with CPAN.pm, but that would assume that CPAN.pm is configured on all of the production machines.

      I can use PPM on a non-production machine so I think your solution will work. Thanks jZed.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://394329]
Approved by Arunbear
Front-paged by Courage
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (8)
As of 2014-12-28 04:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (178 votes), past polls