在 Strawberry Portable 5.20.2 上安装 Pod::Spell 失败
Install of Pod::Spell failing on Strawberry Portable 5.20.2
当我尝试在 Strawberry 5.20.2(64 位 PortableZIP 版本)上 cpanm Pod::Spell
时,它会将 I18N::Langinfo
标记为依赖项。当它尝试下载 I18N::Langinfo
的分发版时,它会将其定位在 R/RJ/RJBS/perl-520.0.tar.gz
中,并且明智地认为最好继续。
Pod::Spell
仅作为 Perl::Critic
.
的依赖项才有意义
关于如何解决这个依赖问题有什么建议吗?
有意思。我在Windows上自己搭建的Perl上找了I18N::Langinfo,也没有安装。我本以为它会被安装,这样它就会发出嘶哑的声音:
croak("nl_langinfo() not implemented on this architecture");
在我看来问题不是 Strawberry 或 ActiveState 特有的(因为我是从源代码构建的)。也许值得构建当前的 blead,如果 I18N::Langinfo
仍未安装,请将此作为错误报告给 p5p。
现在,即使您可以安装该模块,我也不希望它在 Windows 上与非 Cygwin perl
一起工作。因此,如果 Pod::Spell
真的依赖模块,它无论如何都无法正常工作。
但是,坦率地说,查看 Pod::Spell
的代码,我并不是很清楚为什么它应该依赖于 I18N::Langinfo
。
因此,我切换到 cpanm
的 Pod::Spell
工作目录和一个 nmake test
(在你的例子中,这将是 dmake test
with Strawberry Perl):
# *** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***
#
# The following REQUIRED prerequisites were not satisfied:
#
# I18N::Langinfo is not installed (any version required)
#
t[=24=]-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
因此,我继续使用 nmake install
安装模块(在您的情况下 dmake install
)。
podspell
似乎有效。
但是,恕我直言,您最好只使用 aspell
,如:
C:\...> aspell --mode=perl lib\Pod\Spell.pm
注意:我使用的是通过 Cygwin 安装的 Aspell 0.60.6.1。
这是Pod::Spell依赖这个模块的一个bug,我在上个版本中没有仔细检查别人的补丁。我的临时修复是安装以前的版本,因为此版本中唯一真正的变化是 podspell
而不是整个模块。以后会修复的。
当我尝试在 Strawberry 5.20.2(64 位 PortableZIP 版本)上 cpanm Pod::Spell
时,它会将 I18N::Langinfo
标记为依赖项。当它尝试下载 I18N::Langinfo
的分发版时,它会将其定位在 R/RJ/RJBS/perl-520.0.tar.gz
中,并且明智地认为最好继续。
Pod::Spell
仅作为 Perl::Critic
.
关于如何解决这个依赖问题有什么建议吗?
有意思。我在Windows上自己搭建的Perl上找了I18N::Langinfo,也没有安装。我本以为它会被安装,这样它就会发出嘶哑的声音:
croak("nl_langinfo() not implemented on this architecture");
在我看来问题不是 Strawberry 或 ActiveState 特有的(因为我是从源代码构建的)。也许值得构建当前的 blead,如果 I18N::Langinfo
仍未安装,请将此作为错误报告给 p5p。
现在,即使您可以安装该模块,我也不希望它在 Windows 上与非 Cygwin perl
一起工作。因此,如果 Pod::Spell
真的依赖模块,它无论如何都无法正常工作。
但是,坦率地说,查看 Pod::Spell
的代码,我并不是很清楚为什么它应该依赖于 I18N::Langinfo
。
因此,我切换到 cpanm
的 Pod::Spell
工作目录和一个 nmake test
(在你的例子中,这将是 dmake test
with Strawberry Perl):
# *** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING *** # # The following REQUIRED prerequisites were not satisfied: # # I18N::Langinfo is not installed (any version required) # t[=24=]-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
因此,我继续使用 nmake install
安装模块(在您的情况下 dmake install
)。
podspell
似乎有效。
但是,恕我直言,您最好只使用 aspell
,如:
C:\...> aspell --mode=perl lib\Pod\Spell.pm
注意:我使用的是通过 Cygwin 安装的 Aspell 0.60.6.1。
这是Pod::Spell依赖这个模块的一个bug,我在上个版本中没有仔细检查别人的补丁。我的临时修复是安装以前的版本,因为此版本中唯一真正的变化是 podspell
而不是整个模块。以后会修复的。