2015-02-24 204 views
4

即使安裝模塊後,爲什麼會出現「無法找到模塊的可加載對象」?

任何人都可以指出我可能導致Perl找不到安裝的模塊嗎?

$ ll /usr/share/perl5/Unix/Processors.pm 
-rw-r--r-- 1 root root 3.2K Sep 11 12:39 /usr/share/perl5/Unix/Processors.pm 

好吧,

$ perldoc -l Unix::Processors 
/usr/share/perl5/Unix/Processors.pm 

好,但

$ perl -MUnix::Processors -e1 
Can't locate loadable object for module Unix::Processors in @INC (@INC contains: /usr/lib/cegma /usr/share/mocat/src /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at -e line 0 
Compilation failed in require. 
BEGIN failed--compilation aborted. 

固定:我已經把編譯Processors.so旁邊.pm時,它應該是在auto目錄。

+2

看起來安裝不完整。它似乎缺少一個C庫。 – toolic 2015-02-24 15:12:53

+4

你是如何安裝模塊的? – 2015-02-24 15:49:48

+0

*「我已將編譯後的Processors.so放在.pm旁邊,當它應該在自動目錄中時」*您不應該將任何文件放在任何地方。您應該*從CPAN下載的分發包中安裝*模塊 – Borodin 2016-06-02 20:16:06

回答

10

Unix::Processors模塊具有必須作爲安裝過程的一部分進行編譯和鏈接的XS(C)組件。該錯誤消息Can't locate loadable object是參照該組分(a共享庫),而不是.pm模塊文件本身

這是一個錯誤安裝的模塊的一個症狀,和最經常發生在當.pm文件已被簡單地複製到位而不是按照perldoc perlmodinstall中所述正確安裝。如果安裝已被強制也會發生,無論構建和測試階段出現任何錯誤。

相關問題