2011-12-09 5 views
3

os x lionにバンドルされているデフォルトのperlディストリビューション(バージョン5.12.3)を使用しています。私は-Wモジュールとスクリプト内のモジュールのアーカイブ::エキスを使用する場合には、次の警告を与える:Archive :: Extractモジュールは、mac os x lionのperl v5.12.3で警告を表示します

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のインストールをクリーンアップし、クリーンインストールを行うには自作やMacPortsのを使用しようとするべきでしょうか?すべての問題を引き起こしていることが分かっていますか?

ありがとうございました。 perlrunから

答えて

9

...

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

あなたは、あなたが尋ねました。

通常の操作では-Wを使用しないでください。ときにはモジュールが意図的に特定のものに関する警告を消すこともあります。

代わりに-wを試してください。

あなたの他の質問は... CPANモジュールのインストールに失敗することがあります。 Perlのバージョンやオペレーティングシステムを変更することができます。インストール試行の冗長な出力を見なければなりません。または、look Module::NameをModule :: Nameのソースtarballのシェルにドロップして、手動でテストしてデバッグすることができます。

つまり、オペレーティングシステムにPerlだけを提供し、開発用に新しいものをインストールすることをお勧めします。これにより、オペレーティングシステムを台無しにしたり、次回のOSのアップグレードであなたのアップグレードを吹き飛ばすことなく、必要なモジュールをインストールしたり、必要なPerlのバージョンをインストールしたりすることができます。

perlbrewは、これを処理する最善の方法の1つです。

+0

お返事ありがとうございます。私は-wで試してみました。これはWin32 :: Locale :: Lexiconに関するかなりの合理的な警告を与えます。私はそれを無視します。私はperlbrewに撃つ。 – shibumi

関連する問題