CPAN对Perl模块进行编译

    perl模块是perl的库,就好比c/c++写的可执行文件需要用到.a静态库和.so动态库一样。
    CPAN(http://www.cpan.org/)是perl官方站点(http://www.perl.com/)的一个“军火库”,里面有上百万的perl模块,用来支撑perl强大的功能,从生物工程到天文计算,从宏观世界到原子力学,无所不有。
    为了很方便的安装perl模块,有人做了一个CPAN模块,用cpan命令来管理和安装CPAN网站上的所有perl模块。

目的


  1. 熟练掌握通过cpan命令来安装perl模块;
  2. 了解一下CPAN。

CPAN基本介绍


  1. perl模块是perl的库,就好比c/c++写的可执行文件需要用到.a静态库和.so动态库一样。
  2. CPAN(http://www.cpan.org/)是perl官方站点(http://www.perl.com/)的一个“军火库”,里面有上百万的perl模块,用来支撑perl强大的功能,从生物工程到天文计算,从宏观世界到原子力学,无所不有。
  3. 为了很方便的安装perl模块,有人做了一个CPAN模块,用cpan命令来管理和安装CPAN网站上的所有perl模块。

cpan命令


  1. cpan命令其实也是一个perl脚本,对于不同版本的perl,可能cpan命令的功能强弱有所不同;
  2. 执行cpan,我们进入了一个类似bash的界面,暂且叫做cpanshell,cpanshell上可以像bash一样输入命令,这个命令是CPAN所特有的。
  3. 我们一般常用到的cpan命令主要有:
    1. help
      • help命令是显示帮助信息,这里面包含了所有的cpan命令,虽然看上去只有一屏,但功能确是非常强大哟!

    2. m //

      • 这个是一个模式,用来查找perl模块,有点像perl正则里面的m//,用于匹配(match),但这里m与//之间多了一个空格,且这里的m指
        modules,意思是根据模块名称查找,//内可以使用正则; 同理
        a(authors)、b(bundles)、d(distributions)和i(in all)都有这种模式。

    3. install
      • install命令是安装perl模块,一般是接模块名称,而不是压缩包名字。比如DBD::mysql,而不是DBD-mysql,即



  install DBD::mysql

CPAN配置


  • CPAN安装是网络安装,如果没有网络,使用cpan命令是无法安装的,所以CPAN安装的速度是与网络有直接关系;
  • 当然,我们可以选择一个快速的镜像站点来安装CPAN模块,那如何配置呢?
    1. 如果是第一次使用CPAN,那么执行cpan命令的时候,cpan命令会给出配置的友好提示,不过很多人都对这个友好提示的繁冗程度显得很不耐烦,不过新版本的CPAN模块已经改善了这一缺点;
    2. 如果不是第一次使用CPAN,而以前别人配置的CPAN镜像站点出了问题不能下载,或镜像站点太慢等等修改一下配置信息,可以重新配置CPAN:


  CPAN>o conf init

  • 若不是root用户,使用cpan命令或perl -MCPAN -e shell也可以进行配置后安装:
    1. 首先,配置好CPAN配置,这个配置可以使用非root用户配置好,配置好的内容一般在$HOME/.cpan/CPAN/MyConfig.pm文件内;
    2. 配置文件MyConfig.pm中配置信息中确定有 'makepl_arg'=>q[PREFIX=~/perl] 这一行,~/perl为你当前用户有权限读、写和执行的目录;
    3. 最后,设置 PERL5LIB 环境变量,把 ~/perl 下的相关目录添加进 PERL5LIB。以 bash shell 为例,在 ~/.bash_profile 里添加如下即可:


  export PERL5LIB=~/perl/lib:\
~/perl/lib/perl5/5.8.0/i386-linux-thread-multi:\
~/perl/lib/perl5/5.8.0:\
~/perl/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi:\
~/perl/lib/perl5/site_perl/5.8.0:\
${PERL5LIB}

模块检测


  • 运行

  $perl -e 'use Module'

如果没有任何输出,则表示模块 Module 成功安装


  • 打印模块版本

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

注意事项


  1. 使用 CPAN 安装模块有时候会 make test 一步失败。可到 $HOME/.cpan/build 的相应目录下直接 make install;
  2. 第一次安装 CPAN 时,可以先安装:

  install Bundle::CPAN



  installBundle::CPANxxl?

这样以后的安装包安装就会少需要的依赖,建议安装。


Monthly Archives

Pages

Powered by Movable Type 7.7.2

About this Entry

This page contains a single entry by Cnangel published on June 8, 2009 12:22 PM.

又说iconv was the previous entry in this blog.

关于warning: AC_INIT: not a literal: $VERSION is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.