2013-04-09 29 views
1

我得到CpanTesters了很多錯誤的對我的模塊EBook::MOBI::Image (這僅僅是EBook::MOBI一些額外的東西。喜歡我保持圖形依賴從主模塊遠離那些誰不反正不需要它)。 所有的測試,除了那些爲GNU/Linux失敗:相關圖像:: Imlib2上CpanTesters

http://www.cpantesters.org/distro/E/EBook-MOBI-Image.html#EBook-MOBI-Image-0.11

因爲我只有GNU/Linux和有一些缺乏一般經驗,我問一些幫助這裏。 測試結果似乎表明,不存在與Image::Imlib2

http://www.cpantesters.org/cpan/report/2306795e-99db-11e2-8c80-50d7c5c10595

有依賴性的問題,它說我應該照顧,該圖像:: Imlib2是在「Makefile.PL」,但它的存在,你可以看到:

https://metacpan.org/source/BORISD/EBook-MOBI-Image-0.11/Makefile.PL#L24

圖片:: Imlib2本身沒有這個問題。測試通過所有系統:

http://www.cpantesters.org/distro/I/Image-Imlib2.html#Image-Imlib2-2.03

有人可以給出提示這裏有什麼不好? 代碼在這裏舉行:

https://github.com/borisdaeppen/EBook-MOBI-Image

非常感謝。

回答

3

當我嘗試用cpan命令安裝該模塊(在Cygwin):

  1. CPAN認識到我需要的Image::Imlib2模塊(warning: prerequisite Image::Imlib2 0 not found

  2. CPAN下載並嘗試建立Image::Imlib2

  3. 構建Image::Imlib2失敗(you must install the imlib2 library before you can install Image::Imlib2 ... Make has some problems, won't install

  4. CPAN繼續建立EBook::MOBI::Image... Continuing, but chances to succeed are limited

  5. ,當然,對於Ebook::MOBI::Image測試失敗

PREREQ_PM => ...指令在Makefile.PL告訴CPAN作出努力,以滿足的先決條件,但如您所見,即使先決條件無法安裝,它仍將繼續構建。 PREREQ_PM指令對於CPAN上的大多數模塊已經足夠了,但對於需要外部庫的模塊來說,cpan無法自行安裝。

我想你想要什麼在這種情況下,對於CPAN測試者擺脫困境,如果你無法加載Image::Imlib2模塊,並做到這一點的地方是在Makefile.PL早。

if (!eval "require Image::Imlib2") { 
    print "This distribution requires Image::Imlib2!\n"; 
    exit 0; 
} 

對於不能或不會安裝Image::Imlib2系統,救助的Makefile.PL將導致測試報告的N/A而不是FAIL結果。

+0

Thx很多,我會盡快檢查(第一次晚餐:-))但我首先需要了解如何通過dzil-build-process來影響Makefile.PL。 – 2013-04-09 16:53:22

+0

我使用Dist :: Zilla :: Plugin :: Run來修改構建後的Makefile.PL,並在「[Run :: AfterBuild]」部分添加到我的dist.ini中:「run = sed -i'5iif !eval「require Image :: Imlib2」){print「 - 此發行版需要Image :: Imlib2! - 「; exit 0;}'%d/Makefile.PL」 – 2013-04-09 19:32:59