Wondering if ppm GUI defaults to --nodeps

Posted by jdictionary on 2010-03-04 18:56
Forums: PPM | OS: Windows 7

Hi,

I'm using ActivePerl v5.8.9 built for MSWin32-x86-multi-thread. I am only using one ppm repo, the default ActiveState one for this build:

http://ppm4.activestate.com/MSWin32-x86/5.8/827/package.xml

I am trying to write a batch script that will install all required modules to run Catalyst. If I use ppm at the command line to install Catalyst-Runtime, for example, I get a dependency error:

ppm instal Catalyst-Runtime
ppm install failed: Can't find any package that provides namespace::clean version 0.13 for Catalyst-Runtime

(BTW, the version of namespace-clean installed is 0.11, the most recent in the repo as I write this).

But if I use the ppm GUI, I can install Catalyst-Runtime no problem. It shows a warning about the namespace-clean version and on install, even an error but the install succeeds. So I'm assuming the GUI is defaulting to passing "--nodeps" when you install packages? I find this a little strange. It seems like it should be an option in the preferences.

Note that when you install Catalyst-Runtime with the GUI, it also installs about 30 (if I remember correctly) dependent packages given a fresh default ActiveState Perl install. I'm just curious if I use "--nodeps" in my batch script, is it going to pick up those additional packages like the GUI does? I don't get that impression based on the ppm help info:

"The --nodeps option makes PPM attempt to install the package without
resolving any dependencies the package might have."

It makes me think the GUI is installing all the dependent packages first and then when it gets to Catalyst-Runtime (based on this example) uses the "--nodeps" option on that package only. This way the dependencies are still there even if the dependent version number does not match. I don't know seems confusing.

Thanks,
Rick

grahams
ActiveState Staff
Wed, 2010-09-01 10:21

Are you trying to run "ppm" or "ppm-shell"?