gpt4 book ai didi

perl - Archive::Extract 模块在 mac os x lion 上的 perl v5.12.3 中发出警告

转载 作者:行者123 更新时间:2023-12-02 08:57:19 26 4
gpt4 key购买 nike

我使用的是与 os x lion 捆绑在一起的默认 perl 发行版(版本 5.12.3)。当我在带有 -W 模块的脚本中使用模块 Archive::Extract 时,它会发出以下警告:

Subroutine version::declare redefined at /Library/Perl/5.12/darwin-thread-multi-2level/version.pm line 139.
Subroutine version::qv redefined at /Library/Perl/5.12/darwin-thread-multi-2level/version.pm line 140.
Subroutine version::vcmp redefined at /Library/Perl/5.12/darwin-thread-multi-2level/version.pm line 142.
Subroutine version::stringify redefined at /Library/Perl/5.12/darwin-thread-multi-2level/version.pm line 145.
Subroutine version::("" redefined at /Library/Perl/5.12/darwin-thread-multi-2level/version.pm line 146.
Subroutine version::new redefined at /Library/Perl/5.12/darwin-thread-multi-2level/version.pm line 147.
Subroutine version::parse redefined at /Library/Perl/5.12/darwin-thread-multi-2level/version.pm line 148.
Subroutine UNIVERSAL::VERSION redefined at /Library/Perl/5.12/darwin-thread-multi-2level/version.pm line 194.
Name "IPC::Cmd::I18N::en::Lexicon" used only once: possible typo at /Library/Perl/Updates/5.12.3/Locale/Maketext.p\
m line 444.
Name "Archive::Extract::I18N::en::Lexicon" used only once: possible typo at /Library/Perl/Updates/5.12.3/Locale/Ma\
ketext.pm line 444.
Name "Win32::Locale::Lexicon" used only once: possible typo at /System/Library/Perl/5.12/I18N/LangTags/Detect.pm l\
ine 140.
Name "Params::Check::I18N::en::Lexicon" used only once: possible typo at /Library/Perl/Updates/5.12.3/Locale/Maket\
ext.pm line 444.
Name "Module::Load::Conditional::I18N::en::Lexicon" used only once: possible typo at /Library/Perl/Updates/5.12.3/\
Locale/Maketext.pm line 444.

我尝试在 CPAN 中运行升级。我什至删除了 .cpan 目录并重新配置了我的 CPAN。我测试了该模块,它似乎工作正常。但不知怎的,我对这些警告感到不舒服。

另一个让我提出这个问题的问题是我的一些其他模块没有升级(当然是通过 CPAN)。当我运行 Linux 时,这从未发生在我身上。

Failed during this command:
PMQS/BerkeleyDB-0.49.tar.gz : make NO
MIKER/NetAddr-IP-4.058.tar.gz : make_test NO
DMR/DProf-19970614.tar.gz : make NO
NWCLARK/perl-5.8.6.tar.gz : make NO isa perl
JESSE/perl-5.13.9.tar.gz : make NO isa perl
SHERZODR/Class-PObject-2.17.tar.gz : make_test NO
GBARR/IO-Tty-0.04.tar.gz : writemakefile NO '/usr/bin/perl Makefile.PL' returned status 65280
DOY/Moose-2.0004.tar.gz : make_test NO
RJBS/perl-5.15.2.tar.bz2 : make NO isa perl
FLORA/perl-5.15.4.tar.gz : make NO isa perl

我应该尝试清理默认的 perl 安装并使用 homebrew 或 macports 进行全新安装吗?是否有一些明显的我遗漏的东西导致了所有问题?

感谢您的帮助。

最佳答案

来自perlrun ...

-W   Enables all warnings regardless of "no warnings" or $^W.

你得到了你想要的。

您不应在正常操作中使用-W。有时模块会故意关闭某些事情的警告,因为它们知道自己正在做的事情会触发它们。

尝试使用-w

至于您的其他问题...有时 CPAN 模块无法安装。更改 Perl 版本或操作系统可以做到这一点。您必须查看安装尝试的详细输出。或者,您可以查找 Module::Name 将其放入 Module::Name 源 tarball 中的 shell 中,您可以在其中手动测试和调试。

也就是说,建议不要使用 Perl 提供的操作系统,而是安装一个新的操作系统来进行开发。这使您可以进行任何您想要的更改,安装您想要的任何模块以及您想要的任何 Perl 版本,而不会冒弄乱操作系统或在下一次操作系统升级中升级的风险。

perlbrew是处理这个问题的最佳方法之一。

关于perl - Archive::Extract 模块在 mac os x lion 上的 perl v5.12.3 中发出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8448488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com