满足它的所有Perl依赖项,但我收到此错误:
无法在SES.pm第250行通过包“LWP :: UserAgent”找到对象方法“ssl_opts”。
答案 0 :(得分:4)
我只是想记录一下我必须做些什么才能在我的Debian系统上运行。 Ubuntu的解决方案可能是相同的。
首先,让Perl找到SES.pm创建目录/ usr / local / lib / site_perl并在那里复制SES.pm。我更喜欢这种解决方案而不是README推荐的解决方案。
您的系统可能已经满足了很多依赖项,因此不必安装重复的软件包,只需先检查它需要哪些软件包。为此,请运行这些命令。如果它出错,则不符合:
perl -e 'use Crypt::SSLeay'
perl -e 'use Digest::SHA'
perl -e 'use Bundle::LWP'
perl -e 'use LWP::Protocol::https'
perl -e 'use MIME::Base64'
perl -e 'use Crypt::SSLeay'
perl -e 'use XML::LibXML'
我不得不删除libcrypt-ssleay-perl软件包,因为它与此Amazon脚本不兼容。有了它,脚本就会在问题中产生错误。
我从Debian安装了这些软件包:
libxml-libxml-perl
libssl-dev (needed to compile dependencies)
要找出包含Perl模块的软件包,您需要在Debian站点上使用此页面来搜索软件包的内容: http://www.debian.org/distrib/packages
将包中的::替换为/并将.pm放在最后。例如,如果您需要XML :: LibXML搜索XML / LibXML.pm
我从CPAN安装了这些软件包。但需要一段时间。有很多依赖。
perl -MCPAN -e 'install LWP::Protocol::https'
perl -MCPAN -e 'install Crypt::SSLeay'
答案 1 :(得分:1)
在SES.pm中注释掉第250行,如下所示:
# $browser->ssl_opts(verify_hostname => 1);
然后它会运行。可能不太安全。但它运行了。