如何安裝Perl模組

來源:互聯網
上載者:User

 一  用 CPAN 安裝

1.  我用的系統是debian,預設只安裝了perl-base,也就是可以使用perl,但沒有cpan這個工具,故現在系統裡安裝perl這個工具。

    aptitude install perl

附加把perl-modules也安裝上了,此時就可使用cpan工具來安裝perl模組了。

  或者,更原始的辦法,從www.cpan.org下載CPAN模組的.tar.gz包來手動安裝,CPAN模組式ANDK這個哥們寫的。

  1. wget http://search.cpan.org/CPAN/authors/id/A/AN/ANDK/CPAN-1.9600.tar.gz
  2. tar zxvf CPAN-1.9600.tar.gz
  3. cd CPAN-1.9600
  4. perl Makefile.PL
  5. make Makefile
  6. test Makefile
  7. make install Makefile

用cpan來安裝的方法

方法1

#export FTP_PASSIVE=1

# perl -MCPAN -e shell

  1. cpan> install Bundle::CPAN   # 更新
  2. cpan> reload cpan            # 重新載入
  3. cpan> install Tk             # 安裝pm,用install加上模組名就行了

方法2

    # expoort FTP_PASSIVE=1
    # perl -MCPAN -e 'install 模組名'

方法3

  1. # cpan 模組名

Perl 中的 cpan 的使用

 CPAN命令解釋:get 下載模組對應的軟體包,並解壓。在Linux下放軟體包的位置是.cpan/sources/authors/id/, 解壓對應的位置是.cpan/build。

 

    #export FTP_PASSIVE=1

  1. # perl -MCPAN -e shell
  2. cpan> o conf init       # 初始化所有配置
  3. cpan> reload cpan       # 重新載入cpan,該命令將重新載入CPAN.pm。
  4. cpan> o conf urllist unshift http://cpan.wenzk.com/ # 只單獨修改鏡象為中國的官方鏡象
  5. cpan> o conf commit     # 提交儲存
  6. cpan> i YAML            # 查看 'YAML' 包的資訊
  7. cpan> readme XML::LibXM # 顯示線上 CPAN 上的資訊
  8. cpan> reload index      # 重新載入索引
  9. cpan> autobundle        # autobundle命令,顯示最近的CPAN上傳資訊
  10. cpan> recent            # rencent命令,顯示最近上傳的軟體包

查詢,刪除,更新 Perl 模組

1.  看模組文檔:

perldoc Module::Name

2.  看模組是否安裝:

perl -MModule::Name -e 0

3.  查詢模組是否安裝,和安裝的位置:

perldoc -lm YAML

4.  刪除模組,使用App::pmunintsall模組來實現:

先把 App::pmuninstall 安裝上
cpan App::pmuninstall

使用pm-uninstall 模組名

5. 看整個 Perl 的文檔:

perldoc perl

perldoc perltoc

perldoc perldoc

6. 看機器上都安裝了哪些模組:

perl -MExtUtils::Installed -le ‘print foreach ExtUtils::Installed->new->modules’

7. 看 Perl 內建安裝了哪些模組:
perl -MModule::CoreList -le ‘print foreach Module::CoreList::find_modules’

perldoc -l YourModule

perldoc -l CGI::Carp

8. 如何才能知道自己裝了哪些PERL的模組?

    find `perl -e 'print "@INC"'` -name '*.pm' -print

9. 查詢指定模組的位置:

    perl -MYAML -e'print $_ . " => " . $INC{$_} . "\n" for keys %INC'

10. 查詢 當前使用的模組的版本:

    perl -MModule -e 'print $Module::VERSION;'

11. 安裝和更新最新的模組
我們常常很多模組老了,我們想用最新的 cpan 本身沒有好的控制機制,所以我們在這可以使用一個模組來完成同樣的功能,叫  App::cpanoutdated 這個可以用來尋找本機上安裝的模組,有那些可以更新,並會列出來。 一樣使用 cpanm 來安裝,我就不講安裝方法了。

[root@fukai  ~]# cpan-outdated
M/ML/MLEHMANN/AnyEvent-5.31.tar.gz
M/ML/MLEHMANN/AnyEvent-HTTP-2.03.tar.gz
N/NA/NAIM/AnyEvent-HTTPBenchmark-0.09.tar.gz
P/PH/PHRED/Apache-Reload-0.11.tar.gz
P/PH/PHRED/Apache-SizeLimit-0.95.tar.gz
P/PH/PHRED/Apache-Test-1.36.tar.gz
B/BI/BINGOS/Archive-Extract-0.48.tar.gz
B/BI/BINGOS/Archive-Tar-1.76.tar.gz
S/SM/SMUELLER/Attribute-Handlers-0.88.tar.gz
S/SM/SMUELLER/AutoLoader-5.71.tar.gz
F/FL/FLORA/autouse-1.06.tar.gz
R/RU/RURBAN/B-C-1.29.tar.gz
R/RU/RURBAN/B-Debug-1.16.tar.gz
F/FL/FLORA/B-Lint-1.12.tar.gz
R/RG/RGARCIA/base-2.15.tar.gz
F/FL/FLORA/bignum-0.25.tar.gz

我們可以直接傳給 cpanm 來安裝:

  1. cpan-outdated | cpanm

給Perl打包成一個執行檔案的方法
 

1.  打包

先安裝PAR::Packer

  1. cpan PAR::Packer

使用下面的命令就可以打包了

  1. pp -c -o Get Get.pl

啟動過濾器,來保護自己的 perl 程式

  1. pp -f Bleach -o hello hello.pl

或者

  1. pp -f Bytecode -o hello hello.pl

 
打包成.par
不包含核心模組:

  1. pp -p -o script.par script.pl

包含核心模組:

  1. pp -B -p -o script.par script.pl

Bleach過濾器是PAR自己實現的,而Bytecode這種過濾方式是Perl的標準格式(需要Perl 5.8.1以上版本支援)

2.  出了問題,怎麼查

  1. scandeps.pl -V -e ‘use YAML;’

可以查出所有的包的依關係

3. Floating point exception
大多是因為 GCC 的版本不一樣,建議相同的作業系統和位元

二  用 cpanm 安裝

CPAN Shell 和 CPANPLUS 的問題
但總體來講,這個使用還是有些麻煩,如果使用者本身沒有 CPANPLUS 這個,單安裝這個 CPANPLUS  就是一個很麻煩的事.因為它本身就依靠很多其它的模組才能正常跑。讓使用者會更加頭痛。

Perl 本身的 CPAN Shell  啟動麻煩,還要配置大量的內容,對新手來說,只要一個能立即上手的 Perl 環境快速的開發就行了,沒有必要給時間浪費在這個上面。
 

 CPANMinus 的優點
因為以上問題,無所不能的 Perl 愛好者總是有各種方法來使問題簡單。下面我要講的這個就是能使大家安裝模組更加簡單的 非常棒的方法。

這個 CPANMinus 有什麼神奇。其中,下載後就能直接使用,不需要任何其它的模組(當內 Perl 本身的 Module::Build , ExtUtils::MakeMaker 和 C Compiler 還是要,這個是系統就有的)。有沒有 Root 許可權都不重要。不是 Root 會自動安裝到目前使用者的目錄。
 
 CPANMinus 的安裝
 

  1. curl -L http://cpanmin.us | perl - App::cpanminus

 安裝完了。。。。太 easy 了,因為他就一個檔案.這個例子是下載 cpanm 以後,直接用他來安裝第一個軟體叫 App::cpanminus,其實就是它自己。

CPANMinus 的使用

  1. cpanm 模組名

例如

  1. # cpanm YAML
  2. Fetching http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/YAML-0.71.tar.gz ... OK
  3. Configuring YAML-0.71 ... OK
  4. Building and testing YAML-0.71 for YAML ... OK
  5. Successfully reinstalled YAML-0.71

使用也容易吧,他還可以直接加本身的模組名,遠端模組的 Url 之類。

最後附上 help

  1. # cpanm --help
  2. Options:
  3. -v,--verbose Turns on chatty output
  4. -q,--quiet Turns off the most output
  5. --interactive Turns on interactive configure (required for Task:: modules)
  6. -f,--force force install
  7. -n,--notest Do not run unit tests
  8. -S,--sudo sudo to run install commands
  9. --installdeps Only install dependencies
  10. --reinstall Reinstall the distribution even if you already have the latest version installed
  11. --mirror Specify the base URL for the mirror (e.g. http://cpan.cpantesters.org/)
  12. --mirror-only Use the mirror's index file instead of the CPAN Meta DB
  13. --prompt Prompt when configure/build/test fails
  14. -l,--local-lib Specify the install base to install modules
  15. -L,--local-lib-contained Specify the install base to install all non-core modules
  16. --auto-cleanup Number of days that cpanm's work directories expire in. Defaults to 7
  17. Commands:
  18. --self-upgrade upgrades itself
  19. --info Displays distribution info on CPAN
  20. --look Opens the distribution with your SHELL
  21. -V,--version Displays software version
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.