`
arganzheng
  • 浏览: 104042 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

如何安装perl模块

阅读更多

如何安装perl模块
2010-06-28 星期一 暴雨

运行perl脚本时,经常会发现如下类似的错误:
forrest@forrest-desktop:~/study/perl/log4perl$ ./logToScreen.pl 
Can't locate Log/Log4perl.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./logToScreen.pl line 3.
BEGIN failed--compilation aborted at ./logToScreen.pl line 3.
这个是因为
use Log::Log4perl;
Log::Log4perl模块没有安装。

forrest@ubuntu:~/study/perl$ ./memcached.pl 
Can't locate Cache/Memcached.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./memcached.pl line 5.
BEGIN failed--compilation aborted at ./memcached.pl line 5.
这个是因为
use Cache::Memcached;
Cache::Memcached模块没有安装。

解决方法:
网上搜索了一下:发现有一篇文章写的非常好:Perl (Pete's notes) [http://www.cisl.ucar.edu/nets/intro/staff/siemsen/tools/perl.html#log4perl]
Installing Perl modules with CPAN.pm (best way)

Use the CPAN.pm module. To read about it, do "perldoc CPAN", or in XEmacs use the Perldoc pull-down when you're editing a Perl file.

The first time you use CPAN.pm, it will ask a long series of questions, the answers for which can be found below. Don't answer them until you've installed ncftp on the local machine.

If you've already installed CPAN and just want to use it, do like
(as root)
(sudo) perl -MCPAN -e shell
install Log::Log4perl
install HTML::TokeParser::Simple
h
q
    
The above will install Log4perl in /usr/lib/perl5/site_perl/5.6.1/Log/Log4perl.
需要注意的是必须使用root权限才能安装成功。

补记:2010-07-21 星期三 晴朗

今天翻看了一下《Learn Perl, 5th》,第十一章是Perl Modules,一开始就是介绍怎么安装perl模块的。感觉总结的非常好。
1. Fining Modules:
Modules come in two types: those that come with Perl and that you should have available to you, and those that you can get from CPAN to install yourself. 

To find modules that don’t come with Perl, start at either CPAN Search (http://search.cpan.org) or Kobes’ Search (http://kobesearch.cpan.org/).* You can browse through the categories or search directly.

tips: 如何检查一个perl模块是否已经安装了?
可以使用perldoc moduleName检查。
不过首先要现安装perl-doc
$sudo apt-get install perl-doc
$ perldoc CGI
Try it with a module that does not exist and you’ll get an error message.
$ perldoc Llamas
$ No documentation found for "Llamas".

最佳实践:使用MCPAN的m moduleName命令
cpan[1]> m DBI
CPAN: Storable loaded ok (v2.20)
Going to read '/home/forrest/.cpan/Metadata'
  Database was generated on Wed, 21 Jul 2010 07:35:04 GMT
Module id = DBI
    DESCRIPTION  Generic Database Interface (see DBD modules)
    CPAN_USERID  TIMB (Tim Bunce <Tim.Bunce@pobox.com>)
    CPAN_VERSION 1.612
    CPAN_FILE    T/TI/TIMB/DBI-1.612.tar.gz
    UPLOAD_DATE  2010-07-16
    DSLIP_STATUS MmcOp (mature,mailing-list,C,object-oriented,Standard-Perl)
    MANPAGE      DBI - Database independent interface for Perl
    INST_FILE    /usr/local/lib/perl/5.10.1/DBI.pm
    INST_VERSION 1.612


cpan[2]> m DBD::Oracle
Module id = DBD::Oracle
    DESCRIPTION  Oracle Driver for DBI
    CPAN_USERID  DBIML (DBI Mailing Lists <dbi-users@perl.org>)
    CPAN_VERSION 1.24
    CPAN_FILE    P/PY/PYTHIAN/DBD-Oracle-1.24b.tar.gz
    DSLIP_STATUS MmcO? (mature,mailing-list,C,object-oriented,)
    INST_FILE    (not installed)

2. Installing Modules
三种方法:
法一:下载安装包手动安装
you can download the distribution, unpack it, and run a series of commands from the shell. Check for a README or INSTALL file that gives you more information. If the module uses MakeMaker,† the sequence will be something like this:
    $ perl Makefile.PL
    $ make install
If you can’t install modules in the system-wide directories, you can specify another directory with a PREFIX argument to Makefile.PL:
    $ perl Makefile.PL PREFIX=/Users/fred/lib
Some Perl module authors use another module, Module::Build, to build and install their creations. That sequence will be something like this:
    $ perl Build.PL
    $ ./Build install
缺点:无法自动安装依赖的包(Some modules depend on other modules though, and they won’t work unless you install yet more modules.)

法二:使用Perl自带的模块——CPAN.pm模块
$ perl -MCPAN -e shell
就是我们前面介绍的方法,这里就不赘述了。

法三:使用Perl自带的一个perl脚本——cpan脚本
$ cpan Module::CoreList LWP CGI::Prototype



分享到:
评论

相关推荐

    Linux上安装Perl模块方法介绍

    ### Linux上安装Perl模块方法详解 #### 一、引言 在Linux环境下处理大量数据时,Perl语言因其强大的文本处理能力和脚本编写能力而被广泛采用。然而,要充分利用Perl的强大功能,安装必要的Perl模块至关重要。本文...

    Windows 下安装Perl模块的方法讨论

    - `make install` 或 `dmake install`:将编译好的模块安装到系统中。 #### 注意事项 - 在编译之前,请仔细阅读模块的 README 文件,了解编译所需的依赖项和其他注意事项。 - 使用 Dev-C++、make 和 VCnmake 工具...

    在linux下安装perl模块.docx

    `perl Makefile.PL`会生成一个Makefile,`make`用来编译模块,`make test`测试模块是否工作正常,最后`make install`将模块安装到系统的Perl库中,通常位于`/usr/local/lib/perl5/site_perl`目录下。 有时,Perl...

    windows下安装perl模块方法和必备软件nmake dmake devcpp.zip

    windows下安装perl模块方法和必备软件nmake dmake devcpp: 方式一: 将 nmake.exe 放到system32目录下 用一下方式: perl Makefile.pl nmake nmake test nmake install 如果成功,将不用看下面内容。 方式二:...

    安装Bugzilla所需Perl模块

    在安装Bugzilla时,需要确保你的环境已经配置了正确的Perl模块,因为这些模块是Bugzilla运行所必需的。Perl模块是Perl编程语言中的库,它们提供了特定的功能,使开发者能够更容易地构建应用程序。 在“安装Bugzilla...

    集群中perl模块的自动安装

    同时,这种方法也可以用于其他类型的模块安装。 在实际操作中可能会遇到一些问题,例如安装local::lib模块时可能会出现错误。这时,可以通过联系作者来获取帮助。 本文介绍了一种集群中perl模块的自动安装方法,...

    linux 离线安装perl-IPC-Cmd

    在没有互联网连接的情况下,离线安装Perl模块可能会变得有些复杂,但通过以下步骤,我们可以实现对`perl-IPC-Cmd`模块的离线安装。 首先,你需要确保你已经安装了基础的Perl环境。在大多数Linux发行版中,这可以...

    bugzilla 安装perl模块的所有需要的包

    在安装Bugzilla时,为了使其正常运行,需要安装一系列Perl模块。这些模块提供了Bugzilla所需的功能,如数据库连接、HTTP请求处理等。下面我们将详细讨论安装Bugzilla时需要的Perl模块以及它们的作用。 1. DBI ...

    Centos7 离线perl-CPAN rpm包

    2. **perl-local-lib-1.008010-4.el7.noarch.rpm**: 这个包是perl-local-lib,它提供了一种方便的方式来在一个独立的环境中安装Perl模块,不干扰系统级别的Perl安装。这对于测试新模块或使用特定版本的模块而不想...

    删除卸载单个perl模块脚本

    1. **检查已安装模块**:使用`cpan -l`或`perl -MCPAN -e 'print join("\n", map { $_-&gt;dist } CPAN::Distribution-&gt;installed)'`命令查看已安装的Perl模块列表,找到你要卸载的模块名。 2. **确定模块位置**:找到...

    bugzilla-3.0.2安装所需要的Perl模块离线安装包

    在安装Bugzilla-3.0.2版本时,可能会遇到需要依赖某些Perl模块的情况。由于某些环境可能无法直接联网进行在线安装,因此提供了离线安装包"ppm_modules"来解决这个问题。 Perl模块是Perl编程语言中的一组函数或类,...

    Linux/Unix下安装Perl模块的两种方法分享

    Linux/Unix下安装Perl模块有两种方法:手工安装和自动安装。一是从CPAN上下载需要的模块,手工编译、安装。二是联上internet,使用一个叫做CPAN的模块自动完成下载、编译、安装的全过程

    bugzilla的perl模块

    在Bugzilla 3.2.2版本中,为了正常运行,它依赖于一系列Perl模块。Perl是一种广泛用于系统管理和网络编程的脚本语言,它的模块生态丰富,为Bugzilla提供了强大的功能支持。 首先,我们需要了解Perl模块的概念。Perl...

    安装bugzilla4.2.2需要的perl模块

    在部署Bugzilla 4.2.2版本时,你需要确保你的环境已经安装了所有必要的Perl模块。Perl是一种强大的脚本语言,它在Bugzilla中扮演着核心角色,处理各种任务,如数据库交互、网页生成等。 在安装Bugzilla 4.2.2之前,...

    perl模块介绍,主要讲述perl的各个模块的使用

    Perl 安装时附带了许多模块,这些模块可以在 lib 目录里找到,并且还有大量的在线文档。 Perl 模块有两种风格:传统的和面向对象的。传统模块为调用者定义了子过程和变量,面向对象的模块的运转类似类声明,并且...

    mysql依赖项perl和linux下安装详细过程

    3. **安装Perl模块**:确保安装了与MySQL交互所需的Perl模块,如`DBI`和`DBD::mysql`。可以使用cpanminus(cpanm)来安装,首先安装cpanminus: ``` curl -L https://cpanmin.us | perl - App::cpanminus ``` ...

    linux离线安装perl需要rpm

    在没有互联网连接的情况下,或者由于安全政策不允许在线安装软件时,离线安装Perl及其依赖变得尤为重要。本篇文章将详细讲解如何在Linux系统中通过RPM(Red Hat Package Manager)进行离线安装Perl。 首先,理解RPM...

    Perl程序员应该知道的事

    - **CPANminus**:一种轻量级的Perl模块管理工具,它允许用户从CPAN安装Perl模块而无需其他工具。 #### Perl不是缩写词 尽管很多人认为Perl是“Practical Extraction and Reporting Language”的缩写,但实际上Perl...

    perl ppd package

    当使用PPM(Perl Package Manager)工具安装Perl模块时,PPD文件是必要的,它指导PPM如何下载和安装对应的模块。 PadWalker是一个Perl模块,它允许程序员查看Perl代码中未定义的变量和函数的内部结构,包括局部变量...

Global site tag (gtag.js) - Google Analytics