你如何让Amazon SES在Debian Squeeze上工作?

时间:2011-08-10 13:06:38

标签: amazon-web-services amazon-ses

满足它的所有Perl依赖项,但我收到此错误:

无法在SES.pm第250行通过包“LWP :: UserAgent”找到对象方法“ssl_opts”。

2 个答案:

答案 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);

然后它会运行。可能不太安全。但它运行了。