http://qs1969.pair.com?node_id=769973

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

Hi Monks,

I have a server with perl5.8 and perl10 installed on it, (c and d drives respectively). My problem is that I'm trying to install a number of modules for perl10, but ppm is showing that these are already installed under 5.8, so isn't installing them.

I can of course force the install...

ppm install Catalyst-Devel -area Perl10 -force
but there are a whole bunch of dependencies which don't get installed because ppm also thinks they are already there.

So, as I see it, I either need to get ppm to ingore the perl5.8 folders on the c drive (I'm only referencing perl10 in the environment), or get ppm to follow and install all depenencies, which seems excessive. Unfortunately, I can figure out how to do neither.

Thanks,

Rob

PS, my area list looks like this

D:\Perl10\bin>ppm area list +----------------------------------------+ ¦ name ¦ pkgs ¦ lib ¦ +------------+------+--------------------¦ ¦ Perl10 ¦ 1 ¦ D:/Perl10/site/lib ¦ ¦ (Perl10_2) ¦ n/a ¦ D:/Perl10/lib ¦ ¦ site* ¦ 123 ¦ C:/Perl/site/lib ¦ ¦ perl ¦ 1 ¦ C:/Perl/lib ¦ +----------------------------------------+
---
my name's not Keith, and I'm not reasonable.

Replies are listed 'Best First'.
Re: PPM - area list lists multiple versions of perl
by jand (Friar) on Jun 09, 2009 at 16:58 UTC
    PPM uses the list of directories in @INC to generate the area names. I suspect you have the PERL5LIB or PERLLIB environment variables set to point to the directories of one of your Perl installations. That is generally not necessary, and potentially a bad idea if the different versions aren't binary compatible.

    So just clearing the environment variable should get rid of the erroneous areas in PPM.

      I did wonder this, but the only perl reference I have in my environment variables is the one in PATH to the correct version of perl ie "D:\Perl10\bin". Which would seem okay. Additionally, printing @INC looks good too...
      D:\Perl10\bin>perl -e "print join ',', @INC"; D:/Perl10/site/lib,D:/Perl10/lib,.
      Cheers, Rob
      ---
      my name's not Keith, and I'm not reasonable.