我正在尝试编写一个Perl脚本,该脚本将在Elastic MapReduce的Streaming功能下作为映射器运行。我正在尝试使用Net :: Amazon :: S3(或者说可能更具可移植性的Amazon :: S3)来为S3做一些额外的I / O文件。该模块不在默认的AMI上,所以我试图在bootstrap-action脚本中使用CPAN来安装它。引导脚本目前包含:
perl -MCPAN -e'CPAN :: Shell-> install(Amazon :: S3)'
然而,在15分钟后,引导动作仍然没有完成,所以我假设它正在等待某种输入。我环顾四周,但没有找到任何加载Perl模块的bootstrap-action脚本的例子。有人可以告诉我吗?提前致谢...
答案 0 :(得分:1)
~/.cpan/CPAN/MyConfig.pm
的计算机中复制cpan
。cpan
配置选项prerequisites_policy
设置为follow
。PERL_MM_USE_DEFAULT
设置为1
。答案 1 :(得分:1)
找到一种更简单,更快捷的方式。看起来大多数CPAN模块也可以通过apt-get获得。我有一个引导动作脚本现在说:
#!/bin/bash -e
source /etc/profile
# Make sure we have all of the dependencies in place for our Perl script.
sudo apt-get install -y libjson-perl
sudo apt-get install -y liburi-encode-perl
请注意,这不会加载我在原始问题中询问的S3模块。我已经更改了我的代码,因此我不再需要该功能了。但是,Net :: Amazon :: S3可以作为libnet-amazon-s3-perl使用
sudo apt-get install -y libnet-amazon-s3-perl
应该做的。
信息转到http://www.deepakg.com/prog/2009/01/cpan-modules-on-ubuntu-apt-get-vs-perl-mcpan/获取信息。