2011年4月5日 星期二

如何排除安裝Perl模組時可能遇到的各種問題?

Perl不像Python,有著號稱"batteries included"的預設模組庫,
通常得視需要,安裝適宜的模組。
這兩種截然不同的"武器裝備哲學"到底孰優孰劣,
標準答案當然是:各有優缺點,青菜蘿蔔各取所愛。

使用cpan方式來安裝Perl模組,
通常會很順利地自動下載(以及自動下載所依賴的其他模組)、測試、安裝,
但是偶爾遇到安裝失敗時,怎麼辦?

最常見的方法是用look 模組的方式,以分解動作來手動安裝。

c:\> cpan
cpan> look POE
> perl Makefile.PL
> dmake 
> dmake test
> dmake install
exit

今天安裝DateTime::TimeZone時,dmake吐出了一個錯誤訊息
dmake.EXE:  makefile:  line 1312:  Error: -- Input line too long,
increase MAXLINELENGTH 

這個問題,得額外加上一個參數才行MAXLINELENGTH
(30000是任意數,應該不用這麼大)
c:\> cpan
cpan> look DateTime::TimeZone
> perl Makefile.PL
> dmake MAXLINELENGTH=30000
> dmake MAXLINELENGTH=30000 test
> dmake MAXLINELENGTH=30000 install

大多數的問題,經由look手動安裝,見招拆招,多能順利解決。

沒有留言:

張貼留言