2013-04-26

Ubuntu 用 CPAN 安裝 Perl 模組 (含常見問題)

距離阿舍上次寫 Perl 的程式,應該至少有四、五年了吧 !? 阿舍這次會再度來碰到 Perl 的東西,是因為要用 mytop 這支程式的關係,所以,才會需要用到 CPAN 來安裝 Perl 的模組,不過,後來阿舍才發現,其實是誤會一場,要用 mytop 並不需要自己手動再安裝 Perl 的相關模組哩 ! 是阿舍想錯方向了,但是,阿舍都試出一些東西了,因此,阿舍就把它寫出來給需要的人參考囉 !

CPAN
.升級 CPAN
首先,如果你和阿舍一樣,在安裝好 Ubuntu 後,就沒有使用過 CPAN 的話,那麼在第一次使用 CPAN 來安裝模組之前,就會需要先幫 CPAN 做個升級的動作,而升級的操作方式,是要先進入 CPAN,然後,分別依序執行下列三行指令,請在 Terminal 執行「sudo perl -MCPAN -e shell」指令來進入 CPAN。

make install 
install Bundle::CPAN

reload cpan

exit

.安裝 Perl 模組
一樣是要在 Terminal 執行「sudo perl -MCPAN -e shell」指令來進入 CPAN 的命令列模式,然後,用「install 模組名稱」的方式來安模 Perl 模組,舉例來說,像阿舍想要安裝 DBD::mysql 模組,那麼就要在  CPAN 命令列模式輸入下列指令 (模組名稱的大小寫要和 CPAN 網站上的一模一樣哩 ! )。

install DBD::mysql

.安裝 Perl 模組時,發生 「Can't exec "make": No such file or directory at ...」
如果用 CPAN 來安裝 Perl 模組時。有出現「Can't exec "make": No such file or directory at ...」的錯誤訊息的話,那麼表示你的電腦上缺少了 CPAN 編譯模組所需的軟體,因此,需要用下面這二行指令來安裝相關的軟體才行

sudo apt-get install libyaml-appconfig-perl

sudo apt-get install build-essential

.結束 CPAN 時,出現「Terminal does not support GetHistory...」
如果看到這個訊息,通常表示你在 CPAN 命令列模式裡,不能按上、下鍵來出現之前輸入的指令,然後,在離開 CPAN 時,就會出現「Terminal does not support GetHistory ...」的訊息,會造成這個問題,是因為少裝了一個套件,造成 Perl 的 GetHistory 模組無法正常運作,所以,請執行下面的這行指令,完成後,再進入 CPAN 命令列模式,就可以用上、下鍵來尋輸入過的指令,同時,也不再會出現上述的訊息了哩 !

sudo apt-get install libterm-readline-gnu-perl

.安裝 DBD:mysql 模組時
「/usr/bin/perl Makefile.PL INSTALLDIRS=site' returned status 512, won't make ...」
如果已經有安裝過 build-essential 套件,然後,在安裝 MySQL 的 DBD  時,還是會出現「/usr/bin/perl Makefile.PL INSTALLDIRS=site' returned status 512, won't make ...」的錯誤訊息而無法完成安裝的話,這通常就會是因為少安裝了一個 MySQL 的套件而造成的,請下面的這行指令來安裝後再到  CPAN 命令列模式安裝一次 DBD:MySQL 模組就可以成功了哩 !

apt-get install libmysqlclient15-dev

.安裝 Perl Doc 套件
最後,如果 Perl 寫的程式有附帶說明文件的話,就要先安裝 perl-doc 套件才能看的到,而安裝的方式如下面的第一行,安裝好之後,要看說明文件的時候,就用「perl-doc 程式名稱」的方式就可以看到了,像阿舍提到的 mytop 就可以用下面第二行的指令來顯示囉 !

sudo apt-get install perl-doc

perl-doc mytop

參考資料



[+] Ubuntu 指令新手會用到的35個技法 - 這是以阿舍的使用經驗編寫出來的電子書,三天內應該就看的完,學的起來哩 ! 有空就參考一下囉 ! ... ^^=

關於阿舍

好文不藏私,請多分享囉!! ^^=



沒有留言 :

張貼留言

如果留言後,發現留言不見了,這通常是因為 Goolge 把它認為是垃圾留言了,請用信件通知阿舍調整 ( ayubiz@gmail.com )。謝謝 !