Question

Is there a way to install Perl-Critic-1.119 on centos 6.4 with perl v5.8.8, when i try with cpanm i get error:

sudo cpanm Perl::Critic
[sudo] password for kahmed: 
--> Working on Perl::Critic
Fetching http://www.cpan.org/authors/id/T/TH/THALJEF/Perl-Critic-1.119.tar.gz ... OK
Configuring Perl-Critic-1.119 ... OK
==> Found dependencies: Pod::Spell
--> Working on Pod::Spell
Fetching http://www.cpan.org/authors/id/X/XE/XENO/Pod-Spell-1.10.tar.gz ... OK
Configuring Pod-Spell-1.10 ... OK
==> Found dependencies: File::ShareDir::ProjectDistDir
--> Working on File::ShareDir::ProjectDistDir
Fetching http://www.cpan.org/authors/id/K/KE/KENTNL/File-ShareDir-ProjectDistDir-0.5.2.tar.gz ... OK
Configuring File-ShareDir-ProjectDistDir-0.5.2 ... OK
==> Found dependencies: Path::IsDev, Path::FindDev
--> Working on Path::IsDev
Fetching http://www.cpan.org/authors/id/K/KE/KENTNL/Path-IsDev-0.6.0.tar.gz ... OK
Configuring Path-IsDev-0.6.0 ... OK
Needs perl v5.10.0, you have 5.008008
! Installing the dependencies failed: Installed version (5.008008) of perl is not in range 'v5.10.0'
! Bailing out the installation for Path-IsDev-0.6.0.
--> Working on Path::FindDev
Fetching http://www.cpan.org/authors/id/K/KE/KENTNL/Path-FindDev-0.4.0.tar.gz ... OK
Configuring Path-FindDev-0.4.0 ... OK
Needs perl v5.10.0, you have 5.008008
==> Found dependencies: Path::IsDev, Path::IsDev::Object
! Installing the dependencies failed: Module 'Path::IsDev' is not installed, Installed version (5.008008) of perl is not in range 'v5.10.0', Module 'Path::IsDev::Object' is not installed
! Bailing out the installation for Path-FindDev-0.4.0.
! Installing the dependencies failed: Module 'Path::IsDev' is not installed, Module 'Path::FindDev' is not installed
! Bailing out the installation for File-ShareDir-ProjectDistDir-0.5.2.
! Installing the dependencies failed: Module 'File::ShareDir::ProjectDistDir' is not installed
! Bailing out the installation for Pod-Spell-1.10.
! Installing the dependencies failed: Module 'Pod::Spell' is not installed
! Bailing out the installation for Perl-Critic-1.119.

and i cannot upgrade Perl.

Was it helpful?

Solution

This specific dependency error should be fixed in 1.000000, namely as the dep on perl 5.10 has been dropped.

https://metacpan.org/source/KENTNL/Path-IsDev-1.000000/Changes#L51

Though the reason for the dependency itself is really that "three part versions are not so well supported on older perls".

Nothing in the code explicitly needs it, but its more a forwards declaration of support. Perl 5.8 is long dead already, and you really should be doing everything in your power to get away from depending on it.

I have in fact planned on scrapping the 3-part versioning for Path::FindDev soon, its in need of some serious overhauls because it just sucks right now, and when the version goes 1.000000 sometime in the next week or so, the perl dependency should similarly drop.

Though, if you want an interim solution:

cpanm --prompt Path::IsDev Path::FindDev

And then press "y" when it asks if you want to build anyway.

cpanm --prompt Path::FindDev
--> Working on Path::FindDev
Fetching http://www.cpan.org/authors/id/K/KE/KENTNL/Path-FindDev-0.4.0.tar.gz ... OK
Configuring Path-FindDev-0.4.0 ... OK
Needs perl v5.10.0, you have 5.008009
! Installing the dependencies failed: Installed version (5.008009) of perl is not in range 'v5.10.0'
Do you want to continue building Path-FindDev-0.4.0 anyway? [n] y
Building and testing Path-FindDev-0.4.0 ... OK
Successfully installed Path-FindDev-0.4.0
1 distribution installed
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top