2017-02-12 209 views
0

Perl的Bugzilla的安裝錯誤模塊

雖然關於在SUSE 42.1運行checksetup.pl提示錯誤Perl模塊未發現其已安裝。

可能是什麼原因呢?

Checking perl modules... 
Checking for    CGI.pm (v3.51)  ok: found v3.63 
Checking for   Digest-SHA (any)  ok: found v5.84_01 
Checking for    TimeDate (v2.23)  ok: found v2.24 
Checking for    DateTime (v0.75)  not found 
Checking for DateTime-TimeZone (v1.64)  not found 
Checking for     DBI (v1.614) ok: found v1.628 
Checking for  Template-Toolkit (v2.24)  ok: found v2.26 
Checking for   Email-Sender (v1.300011) not found 
Checking for   Email-MIME (v1.904) ok: found v1.940 
Checking for     URI (v1.55)  ok: found v1.60 
Checking for  List-MoreUtils (v0.32)  ok: found v0.416 
Checking for Math-Random-ISAAC (v1.0.1) ok: found v1.004 
Checking for   File-Slurp (v9999.13) ok: found v9999.19 
Checking for    JSON-XS (v2.01)  ok: found v3.03 
+1

很可能你有兩個perl實例,而你正在檢查的實例並不是模塊安裝的實例。 – Borodin

+0

有沒有辦法檢查有多少實例? – karan

+0

你會得到什麼樣的''perl','perl -v',以及'checksetup.pl'的shebang行是什麼? checksetup是否修改@INC或調整'lib'? – choroba

回答

0

您是如何測試模塊安裝的?

您的測試腳本不只是測試Perl模塊的安裝,而是測試它們的版本。例如,你可能有Email-Sender,但它想要版本1.300011(或更高版本),並且你的安裝版本可能會更低。 您可以通過執行perldoc Email::Sender(可能會顯示版本)或運行它來檢查:perl -MEmail::Sender -e 'print $Email::Sender::VERSION,"\n";',或者如果其他所有操作都失敗,請查看模塊源代碼(perldoc -m Email::Sender),或者檢查操作系統工具的包管理,因爲您的模塊可能已通過操作系統安裝(或手動安裝,您沒有指定)。

對於其中顯示「未找到」的其他行也相同。

+0

我使用perldoc檢查了所有顯示未由checksetup.pl安裝的模塊,它們的版本>> checksetup.pl所要求的版本。 – karan

+0

然後@Borodin的第一條評論可能是解釋。 –