在安装教程中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)
如何在 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)