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

Can anyone advise me how to upgrade a module for activestate perl when the machine in question does not have access to the internet?

Any help greatly appreciated!

MrL
  • Comment on Activestate Perl module upgrade assistance

Replies are listed 'Best First'.
Re: Activestate Perl module upgrade assistance
by marto (Cardinal) on Jun 09, 2009 at 10:36 UTC

    Hi mrlizard123,

    Provided you can download the modules elsewhere and transfer them to the computer in question (USB drive perhaps?) see A guide to installing modules for Win32 from the tutorials section of this site. Also IIRC you can do soemthing like:

    c:\temp\ppm install --location=. Module-Name

    Provided that you have extracted the zip file in the location you into the c:\temp path.

    Martin

      Thanks for the reply Martin,

      Please forgive my ignorance in asking but the information is for installing a module; do you know if it will it cause issues if a previous version of a module is already present? Or is that all magically taken care of?

      Cheers
      MrL

        mrlizard123,

        I'm pretty sure that install will simply install the new version of the module, replacing the existing (in this case older) version. If I am wrong I'll soon be corrected :)

        You could check the documentation for the version of PPM you are using. I've not used PPM for quite some time since I use Strawberry Perl when working on a Microsoft Windows platform, which has cpan in addition to ppm.

        Martin

Re: Activestate Perl module upgrade assistance
by jand (Friar) on Jun 09, 2009 at 15:18 UTC
    You can download the *.ppmx files from the PPM build status pages and transfer them to your disconnected machine via CDR or USB memory stick. Then install them with
        ppm install Foo-Bar.ppmx
    
    You may need to remove a previous installation of the module if it also was installed in the site/lib/ tree.

    You'll also have to make sure you install all prerequisite modules manually too, as PPM will not be able to fetch them automatically in this scenario.

      I believe typical activestate ppm installation will install in site/lib. Just make sure that your @INC is 'xxx/site/lib' and 'xxx/lib' where xxx is your base AS Perl installation directory. perl -e "print join \"\n\", @INC;"
        PPM will install by default into the first writable directory in @INC. Or you can specify the installation directory using the --area xxxx option. Use
            ppm area list
        
        to get a list of the area names of your directories in @INC (normally just the last segment of the path for each directory, unless it is lib).

        And for ActivePerl site/lib is already in front of lib.