如何在 Linux 上安装 Perl 模块

这个简短的指南解释了如何在 Linux 上安装 Perl 模块 CPAN (C全面的 错误 一个档案 ñ网络)存储库。 在撰写本指南时,有 185,128 个 Perl 模块 在 CPAN 中可用。 许多用 Perl 编程语言编写的程序依赖于某些 perl 模块来执行特定任务。 例如,前几天我在测试 系统管理员工具 它提供了一个集合 适用于 Linux/Unix 系统管理员的有用工具. 当我测试一个名为 多ping,我遇到了以下错误:

$ ./multi-ping google.com The required Net::DNS module is missing. Aborting.

在这种情况下,您需要找到并安装缺少的 perl 模块才能使用该程序。

内容

  1. 在 Linux 上安装 Perl 模块
    1. 使用 cpan 安装 Perl 模块
    2. 使用 Cpanminus 安装 Perl 模块
    3. 使用发行版的包管理器安装缺少的 Perl 模块
    4. 列出已安装的 Perl 模块
    5. 卸载 Perl 模块
    6. 帮助我们帮助您:

在 Linux 上安装 Perl 模块

有许多工具可用于安装和 Perl 模块。 我们将尝试两种工具,即 cpanm. 值得一提的是,CPAN 上的很多模块都需要最新版本的 Perl 版本 5.8 或以上。

请确保您已安装 ‘制作’ Linux 发行版上的软件包。 ‘make’ 是构建 perl 模块的重要工具。

如果你不安装’make’,你可能会遇到如下错误:

Can't configure the distribution. You probably need to have 'make'.

‘make’ 包在大多数 Linux 发行版的默认存储库中都可用。

安装“make” Arch Linux 及其变体,运行:

$ sudo pacman -S make

Debian, Ubuntu, Linux 薄荷糖

$ sudo apt install make

Fedora

$ sudo dnf install make

在 R 上所有的, 中央操作系统

$ sudo yum install make

SUSE/openSUSE

$ sudo zypper install make

让我们继续安装 perl 模块。

使用 cpan 安装 Perl 模块

是 CPAN 存储库的命令行客户端,默认与所有 Perl 版本一起分发。

安装 Perl 模块,例如 网络::DNS,使用命令进入cpan shell:

$ sudo cpan

并在 cpan 提示符下键入以下命令来安装模块:

install Net::DNS

安装模块后,键入 ‘出口’ 返回您的外壳。

您也可以使用以下命令直接从终端安装模块:

$ sudo cpan Net::DNS

使用 Cpanminus 安装 Perl 模块

Cpanminus 或者 cpanm 是一个 cpan 客户端,用于从 CPAN 存储库获取、解压缩、构建和安装模块。 它是一个独立的、无依赖的脚本,需要零配置。 许多有经验的 Perl 开发人员更喜欢 cpanm 而不是 cpan。

cpanminus 可以通过多种方式安装。

1. 使用 Perl:

要在您的 Linux 系统上安装最新的 cpanm 版本,只需运行:

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

此命令将在系统范围内安装 cpanm 并将 cpanm 二进制文件安装到您的 bin 目录中,例如 /usr/local/bin.

2.使用发行版的包管理器:

cpanm 在几个 Linux 发行版的默认存储库中也可用。 它是稳定版本,但有点旧。

要在 Arch Linux 及其变体上安装 cpanminus,请运行:

$ sudo pacman -S cpanminus

在 Debian、Ubuntu、Linux Mint 上:

$ sudo apt install cpanminus

在 CentOS 上:

$ sudo yum install perl-App-cpanminus

3.手动安装:

或者,您可以手动下载最新的 cpanm 二进制文件并将其放入您的 $PATH 中,如下所示。

$ curl -L https://cpanmin.us/ -o cpanm 
$ chmod +x cpanm 
$ sudo mv cpanm /usr/local/bin/cpanm

安装 cpanm 后,您可以通过从终端运行以下命令来安装任何 Perl 模块,例如 Net::DNS:

$ sudo cpanm Net::DNS

样本输出:

--> Working on Net::DNS Fetching https://www.cpan.org/authors/id/N/NL/NLNETLABS/Net-DNS-1.21.tar.gz ... OK Configuring Net-DNS-1.21 ... OK ==> Found dependencies: Digest::HMAC --> Working on Digest::HMAC Fetching https://www.cpan.org/authors/id/G/GA/GAAS/Digest-HMAC-1.03.tar.gz ... OK Configuring Digest-HMAC-1.03 ... OK Building and testing Digest-HMAC-1.03 ... OK Successfully installed Digest-HMAC-1.03 Building and testing Net-DNS-1.21 ... OK Successfully installed Net-DNS-1.21 2 distributions installed

使用发行版的包管理器安装缺少的 Perl 模块

许多 Perl 模块都以包的形式提供,因此您可以使用发行版的包管理器来安装它。

在 Debian、Ubuntu 上:

$ apt-cache search 'perl$' | grep Net::DNS

输出:

libnet-dns-zonefile-fast-perl - fast BIND-style zonefile parser on top of Net::DNS

如您所见,Net::DS 模块由“libnet-dns-zonefile-fast-perl”提供,所以让我们使用命令安装它:

$ sudo apt install libnet-dns-zonefile-fast-perl

要在 Arch Linux 上查找缺失的模块,请运行:

$ pacman -Ss '^perl-' | grep Net::DNS

并使用“pacman”命令安装缺少的模块。

列出已安装的 Perl 模块

要列出已安装的 Perl 模块,请使用“perldoc”命令:

$ perldoc perllocal

样本输出:

Thu Jan 30 10:45:11 2020: "Module" Digest::HMAC     *   "installed into: /usr/local/share/perl/5.26.1"      *   "LINKTYPE: dynamic"      *   "VERSION: 1.03"      *   "EXE_FILES: "    Thu Jan 30 10:47:41 2020: "Module" Net::DNS     *   "installed into: /usr/local/share/perl/5.26.1"      *   "LINKTYPE: dynamic"      *   "VERSION: 1.21"      *   "EXE_FILES: "    Thu Jan 30 10:48:54 2020: "Module" Digest::BubbleBabble     *   "installed into: /usr/local/share/perl/5.26.1"      *   "LINKTYPE: dynamic"      *   "VERSION: 0.02"      *   "EXE_FILES: "

列出已安装 Perl 模块的另一种方法是使用如下所示的“instmodsh”命令。

$ instmodsh

您将看到以下输出:

Available commands are: l - List all installed modules m <module> - Select a module q - Quit the program cmd?

命令 提示,输入 “我” 列出模块。

Installed modules are: App::cpanminus Digest::BubbleBabble Digest::HMAC Module::Build Net::DNS Perl cmd?

请注意,以上两个命令会列出使用 cpan 安装的模块。 您的 Linux 发行版可能会手动安装或预安装许多模块。

要查找所有已安装的 Perl 模块,请运行:

$ cpan -l

或者,

$ cpan -a

卸载 Perl 模块

Perl 模块可以使用 cpanm 使用命令轻松删除:

$ sudo cpanm --uninstall Net::DNS

键入 y 并按 ENTER 以删除带有所有配置文件的模块。

Net::DNS contains the following files:  /usr/local/man/man3/Net::DNS.3pm /usr/local/man/man3/Net::DNS::Domain.3pm /usr/local/man/man3/Net::DNS::DomainName.3pm [...] /usr/local/share/perl/5.26.1/Net/DNS/Text.pm /usr/local/share/perl/5.26.1/Net/DNS/Update.pm /usr/local/share/perl/5.26.1/Net/DNS/ZoneFile.pm  Are you sure you want to uninstall Net::DNS? [y] y

希望这可以帮助。

感谢您的光临!

帮助我们帮助您:

  • 订阅我们的电子邮件通讯: 立即注册
  • 支持 OSTechNix: 通过贝宝捐款
  • 下载免费的电子书和视频: TradePub 上的 OSTechNix
  • 联系我们: 红迪网 | Facebook | 推特 | 领英 | RSS订阅

祝你有美好的一天!!

CLIComprehensive Perl Archive NetworkCpanCpanmCpanminusLinuxPerlPerl 模块