我得到这个错误:

找不到Foo。pm在@INC

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


当前回答

另请参见Yes,即使您也可以使用CPAN。它展示了如何在没有root或sudo访问权限的情况下使用CPAN。

其他回答

尝试应用::cpanminus:

# cpanm Chocolate::Belgian

它非常适合安装东西。它不提供CPAN或CPANPLUS的任何复杂功能,因此只要知道要安装哪个模块,就很容易使用。如果你还没有cpanminus,只需输入:

# cpan App::cpanminus

安装它。

也可以完全不使用cpan来安装它。基本的引导程序是,

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

欲了解更多信息,请访问App::cpanminus页面,并查看安装部分。

我注意到一些人建议在sudo下运行cpan。在过去,安装到系统目录中是必须的,但是CPAN shell的现代版本允许您配置它,只使用sudo进行安装。这要安全得多,因为这意味着测试不会以根用户身份运行。

如果您有一个旧的CPAN shell,只需安装新的CPAN(“install CPAN”),当您重新加载shell时,它将提示您配置这些新指令。

现在,当我在一个有旧CPAN的系统上时,我要做的第一件事是更新shell并将其设置为这样做,这样我就可以作为一个普通用户完成大部分CPAN工作。

另外,我强烈建议Windows用户研究草莓Perl。这是一个Perl版本,附带一个预配置的CPAN外壳和一个编译器。它还包括一些难以编译的Perl模块及其外部C库依赖项,特别是XML::Parser。这意味着当涉及到安装模块时,您可以像其他Perl用户一样做同样的事情,而且事情往往会“工作”得更频繁。

奥托提了个好建议。这也适用于Debian,以及任何其他Debian衍生物。缺失的部分是当apt-cache搜索没有找到一些东西时该怎么做。

$ sudo apt-get install dh-make-perl build-essential apt-file
$ sudo apt-file update

然后,当你有一个随机的模块,你想安装:

$ cd ~/some/path
$ dh-make-perl --build --cpan Some::Random::Module
$ sudo dpkg -i libsome-random-module-perl-0.01-1_i386.deb

这将给你一个deb包,你可以安装它来获得Some::Random::Module。这里最大的好处之一是,除了模块本身之外,手册页和示例脚本将被放置在您的发行版所选择的位置。如果发行版发布了新版本的Some::Random::Module的官方包,它将在你apt-get升级时自动安装。

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

yum install 'perl(Chocolate::Belgian)'

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

简单地在shell上执行cpan Foo::Bar就可以达到这个目的。