安装 perl 模块

安装 perl 模块

我试图在我的 Ubuntu 机器上安装 perl 模块 Future::Utils 但没有找到确切的命令。我尝试了这个命令,但它不起作用:

sudo apt-get install libfuture-utils-perl

当我运行这个命令时,我得到这个结果:

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libfuture-perl

你能帮我解决这个问题吗

答案1

在我的 Debian 系统上运行你的命令给了我这个结果

apt-get install libfuture-utils-perl
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libfuture-utils-perl

但是,我通过搜索发现该库可以作为包提供:

apt-cache search libfuture
libfuture-perl - module for operations awaiting completion

然后我就可以安装它了:

apt-get install libfuture-perl

答案2

Perl 模块名称对应于.pm文件路径是出于必要——不是语言的任何特定规则,而是因为这就是 perl 找到它们的方式。此假设可用于apt-file search确定哪个发行版包(如果有)包含该文件:

apt-file search  "/Future/Utils.pm"

然而,有很多模块没有软件包,获取这些模块的最简单方法是直接从 CPAN 获取,该cpan实用程序为此提供了一个交互式界面。如果 perl 已安装,则它可能已经安装。第一次使用它时,它会要求进行一些自动配置。您可能希望su root首先安装到系统而不是用户主目录,这样 cpan 配置就会保存在正确的位置(root 的主目录)。然后你只需install Future::Utilscpan提示即可。如果涉及 XS 代码,以这种方式安装模块可能需要构建工具; cpan 会让您知道这一点,并告诉您需要先安装什么。有时您可能还需要特定的库及其开发头包。

您可以安装一个模块的多个版本,一个来自发行版软件包,一个来自 CPAN,因为它们默认位于不同的位置。然而,将使用 CPAN 路径,因为它的路径在数组中优先@INC——但您可以更改它或设置$PERL5LIB(shell 环境,而不是 perl 变量)。

相关内容