如何在 Debian 9 上安装 Perl 模块?

rea*_*ebo 1 debian perl

在安装教程中SendEmail,我找到了安装 2 个先决条件、2 个 perl 模块的说明

apt-get install 'perl(Net::SSLeay)' 'perl(IO::Socket::SSL)'
Run Code Online (Sandbox Code Playgroud)

这种语法对我的 Debian 9 来说也很奇怪

E: 无法找到包 perl(Net::SSLeay)

E: 无法找到包 perl(IO::Socket::SSL)

我尝试使用cpan, (老实说我不知道​​是什么......)但它以一些语法错误结束

编辑,更多疑问

在这个“Ask Ubuntu”问题中,我看到了要执行的指令

apt-get install libnet-ssleay-perl libio-socket-ssl-perl
Run Code Online (Sandbox Code Playgroud)

但在我下面教程,说明是执行第一

apt-get install libnet-ssleay-perl libio-socket-ssl-perl
Run Code Online (Sandbox Code Playgroud)

随后

apt-get install 'perl(Net::SSLeay)' 'perl(IO::Socket::SSL)'
Run Code Online (Sandbox Code Playgroud)

GAD*_*D3R 5

如何在 Debian 9 上安装 Perl 模块?

1) 通过cpan

cpan Module::Name
Run Code Online (Sandbox Code Playgroud)

例如:

cpan IO::Socket::SSL
cpan Net::SSLeay
Run Code Online (Sandbox Code Playgroud)

2)通过 apt

使用apt-file得到确切的包名再进行安装。安装apt-file

apt install apt-file
apt-file update
Run Code Online (Sandbox Code Playgroud)

获取包名:

apt-file search Module/Name
Run Code Online (Sandbox Code Playgroud)

或者 :

apt-file search Module/Name | awk '{print $1}' | uniq |  tr -d \:
Run Code Online (Sandbox Code Playgroud)

例如:

apt-file search IO/Socket/SSL | awk '{print $1}' | uniq | tr -d \:
Run Code Online (Sandbox Code Playgroud)

示例输出:

libio-socket-ssl-perl
Run Code Online (Sandbox Code Playgroud)

安装libio-socket-ssl-perl包将安装IO::Socket::SSLperl 模块:

apt install libio-socket-ssl-perl
Run Code Online (Sandbox Code Playgroud)