Установите Perl-Critic-1.119 на centos 6.4 с помощью perl v5.8.8

Есть ли способ установить Perl-Critic-1.119 на centos 6.4 с perl v5.8.8, когда я пытаюсь с cpanm я получаю ошибку:

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.

и я не могу обновить Perl.

1 ответ

Решение

Эта конкретная ошибка зависимости должна быть исправлена ​​в 1.000000а именно, поскольку dep на Perl 5.10 был удален.

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

Хотя причина самой зависимости в том, что "версии из трех частей не так хорошо поддерживаются на старых perl".

Ничто в коде явно не нуждается в этом, но это скорее предварительная декларация поддержки. Perl 5.8 уже давно мертв, и вы действительно должны делать все, что в ваших силах, чтобы избежать зависимости от него.

На самом деле я планировал отказаться от 3-х версий для Path::FindDev скоро, он нуждается в серьезном капитальном ремонте, потому что это просто отстой прямо сейчас, и когда версия выходит 1.000000 когда-нибудь на следующей неделе или около того, зависимость perl должна также упасть.

Хотя, если вы хотите временное решение:

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

А затем нажмите "y", когда он спросит, хотите ли вы построить в любом случае.

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
Другие вопросы по тегам