我试图在我的 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::Utils
按cpan
提示即可。如果涉及 XS 代码,以这种方式安装模块可能需要构建工具; cpan 会让您知道这一点,并告诉您需要先安装什么。有时您可能还需要特定的库及其开发头包。
您可以安装一个模块的多个版本,一个来自发行版软件包,一个来自 CPAN,因为它们默认位于不同的位置。然而,将使用 CPAN 路径,因为它的路径在数组中优先@INC
——但您可以更改它或设置$PERL5LIB
(shell 环境,而不是 perl 变量)。