Jean-Denis Muys
2009-04-07 15:46:44 UTC
Hi,
I am quite a newbie with Perl and CPAN, so please bear with me.
I have been developping a custom application in Perl for a few weeks for a
customer. The customer's machine will not have internet access. My code uses
a few CPAN modules that will not be on the customer's machine.
Therefore I need to deliver both my code and the said CPAN modules, and I'm
not quite sure how I can do that.
My internet search uncovered a few hits which describe how to manually
install without internet access, but it's not quite what I need.
This is because target machine is very bare bone and lacks a number of
tools, including for example a C compiler. So delivering the full set of
building tools is really heavy handed.
My idea was to deliver only the built libraries and required binaries.
The good news is I have a "clone" of the target machine on a virtual
machine, which I can connect to the internet. So I can install and build
everything on that virtual machine, and then copy all the new binaries back
to the actual target machine (using a CD-ROM or a USB thumb drive).
With that in mind, here are my questions:
1) will it be enough to copy all new files in the CPAN installation
directorie(s)?
2) how can I find where CPAN installs its modules? Is it correct to use the
directories stored in the @INC variable?
In my specific case, the target machine is a vanilla CentOS 5.2 Linux
install.
The modules I use include DBI with SQLite3 access, Moose, Log::Log4perl,
File::Path, File::Copy, File::Basename, Text::Iconv with perhaps a few more
coming later.
I hope this is the correct list to ask such questions.
Many thanks for any suggestion.
Jean-Denis
I am quite a newbie with Perl and CPAN, so please bear with me.
I have been developping a custom application in Perl for a few weeks for a
customer. The customer's machine will not have internet access. My code uses
a few CPAN modules that will not be on the customer's machine.
Therefore I need to deliver both my code and the said CPAN modules, and I'm
not quite sure how I can do that.
My internet search uncovered a few hits which describe how to manually
install without internet access, but it's not quite what I need.
This is because target machine is very bare bone and lacks a number of
tools, including for example a C compiler. So delivering the full set of
building tools is really heavy handed.
My idea was to deliver only the built libraries and required binaries.
The good news is I have a "clone" of the target machine on a virtual
machine, which I can connect to the internet. So I can install and build
everything on that virtual machine, and then copy all the new binaries back
to the actual target machine (using a CD-ROM or a USB thumb drive).
With that in mind, here are my questions:
1) will it be enough to copy all new files in the CPAN installation
directorie(s)?
2) how can I find where CPAN installs its modules? Is it correct to use the
directories stored in the @INC variable?
In my specific case, the target machine is a vanilla CentOS 5.2 Linux
install.
The modules I use include DBI with SQLite3 access, Moose, Log::Log4perl,
File::Path, File::Copy, File::Basename, Text::Iconv with perhaps a few more
coming later.
I hope this is the correct list to ask such questions.
Many thanks for any suggestion.
Jean-Denis