在Strawberry Portable 5.20.2上安装Pod :: Spell失败

时间:2015-03-04 18:35:19

标签: perl perl-critic cpanm

当我在草莓5.20.2(64位PortableZIP版本)上尝试cpanm Pod::Spell时,它将I18N::Langinfo标记为依赖项。当它试图下载I18N::Langinfo的分发版时,它会将其定位在R/RJ/RJBS/perl-520.0.tar.gz中,并且明智地认为更好的是继续。

Pod::Spell仅作为Perl::Critic的依赖关系感兴趣。

有关如何解决此依赖性问题的任何建议吗?

2 个答案:

答案 0 :(得分:3)

Pod :: Spell依赖于这个模块的错误,我没有仔细检查上一版本中的其他人的补丁。我临时修复的是安装以前的版本,因为此版本中唯一真正的更改是podspell,而不是整个模块。它将在未来修复。

答案 1 :(得分:2)

有趣。我在Windows上自行构建的Perl上查找了I18N::Langinfo,但它也没有安装。我原本预计它会被安装,以便它可以呱呱叫:

croak("nl_langinfo() not implemented on this architecture");

在我看来问题不是草莓或ActiveState特定的(因为我是从源码构建的)。可能值得构建当前的blead,如果仍未安装I18N::Langinfo,则将此报告为p5p的错误。

现在,即使您可以安装该模块,我也不希望它在Windows上与非Cygwin perl一起使用。因此,如果Pod::Spell真的取决于模块,那么它无论如何都不会正常工作。

但是,坦率地说,查看Pod::Spell的代码并不是很明显,为什么它应该依赖于I18N::Langinfo

因此,我切换到cpanm的{​​{1}}工作目录和Pod::Spell(在您的情况下,使用Strawberry Perl这将是nmake test):

# *** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***
#
# The following REQUIRED prerequisites were not satisfied:
#
# I18N::Langinfo is not installed (any version required)
#
t\00-report-prereqs.t .. ok
t\basic.t .............. ok
t\debug.t .............. ok
t\get-stopwords.t ...... ok
t\text-block.t ......... ok
t\utf8.t ............... ok
All tests successful.
Files=7, Tests=24,  9 wallclock secs ( 0.13 usr +  0.02 sys =  0.14 CPU)
Result: PASS

因此,我继续使用dmake test(在您的情况下为nmake install)安装了模块。

dmake install似乎有效。

但是,恕我直言,你最好只使用podspell,如:

C:\...> aspell --mode=perl lib\Pod\Spell.pm

aspell spell checking Pod::Spell

注意:我使用的是使用Cygwin安装的Aspell 0.60.6.1。