这个简短的指南解释了如何在 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 模块才能使用该程序。
内容
在 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 模块