我得到这个错误:

找不到Foo。pm在@INC

有没有比下载、解压、制作等更简单的方法来安装它?


当前回答

在Unix:

通常你在shell中开始cpan:

全面美元

和类型

安装巧克力::比利时

简而言之:

巧克力cpan::比利时

在Windows上:

如果您在Windows上使用ActivePerl, PPM (Perl包管理器)有许多与cpa .pm相同的功能。

例子:

ppm美元 Ppm >搜索net-smtp 安装Net-SMTP-Multipart

参见如何安装Perl模块?在CPAN常见问题解答中

许多发行版以包的形式发布了大量perl模块。

Debian/Ubuntu: apt-cache search 'perl$' Arch Linux: pacman -Ss '^perl-' Gentoo: category dev-perl

您应该总是喜欢它们,因为您可以从自动(安全)更新和易于删除中受益。这对于cpan工具本身来说是相当棘手的。

对于Gentoo,有一个很好的工具叫做g-cpan,它可以从CPAN构建/安装模块,并为你创建一个Gentoo包(ebuild)。

其他回答

看起来你已经得到了答案,但我想我应该插句话。这是我在Ubuntu(或debian服务器)上的一些脚本中所做的事情。

#!/usr/bin/perl

use warnings;
use strict;

#I've gotten into the habit of setting this on all my scripts, prevents weird path issues if the script is not being run by root
$ENV{'PATH'} = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin';

#Fill this with the perl modules required for your project
my @perl = qw(LWP::Simple XML::LibXML MIME::Lite DBI DateTime Config::Tiny Proc::ProcessTable);

chomp(my $curl = `which curl`);

if(!$curl){ system('apt-get install curl -y > /dev/null'); }

chomp(my $cpanm = system('/bin/bash', '-c', 'which cpanm &>/dev/null'));

#installs cpanm if missing
if($cpanm){ system('curl -s -L http://cpanmin.us | perl - --sudo App::cpanminus'); }

#loops through required modules and installs them if missing
foreach my $x (@perl){
    eval "use $x";
    if($@){
        system("cpanm $x");
        eval "use $x";
    }
}

这对我来说很好,也许这里有你可以使用的东西。

在Fedora Linux或Enterprise Linux上,yum还跟踪perl库依赖关系。因此,如果perl模块可用,并且某些rpm包导出该依赖项,它将为您安装正确的包。

yum install 'perl(Chocolate::Belgian)'

(很可能是perl- chocolate - belgium包,甚至是ChocolateFactory包)

我知道的两种方法:

使用PPM:

在Windows (ActivePerl)中,我使用ppm

从命令行输入ppm。在ppm提示符下…

ppm> install foo

or

ppm> search foo

获取可用的foo模块列表。为所有命令键入help

使用cpan:

你也可以这样使用CPAN (*nix系统):

perl -MCPAN -e 'shell'

给你一个提示

cpan>

听到提示音…

cpan> install foo  (again to install the foo module)

输入h以获得cpan的命令列表

在Unix:

通常你在shell中开始cpan:

全面美元

和类型

安装巧克力::比利时

简而言之:

巧克力cpan::比利时

在Windows上:

如果您在Windows上使用ActivePerl, PPM (Perl包管理器)有许多与cpa .pm相同的功能。

例子:

ppm美元 Ppm >搜索net-smtp 安装Net-SMTP-Multipart

参见如何安装Perl模块?在CPAN常见问题解答中

许多发行版以包的形式发布了大量perl模块。

Debian/Ubuntu: apt-cache search 'perl$' Arch Linux: pacman -Ss '^perl-' Gentoo: category dev-perl

您应该总是喜欢它们,因为您可以从自动(安全)更新和易于删除中受益。这对于cpan工具本身来说是相当棘手的。

对于Gentoo,有一个很好的工具叫做g-cpan,它可以从CPAN构建/安装模块,并为你创建一个Gentoo包(ebuild)。

即使它应该工作:

cpan -i module_name