亚马逊云服务器EC2上的CPAN安装失败:“无法解压缩”

3

我正在一个EC2 Linux AMI实例上尝试使用CPAN安装各种CPAN模块。从典型的安装开始(YAML只是一个例子)...

sudo yum install perl-CPAN
Package perl-CPAN-1.9402-127.15.amzn1.x86_64 already installed and latest version

sudo perl -MCPAN -e shell
cpan[1]> install YAML

当我尝试下载和安装模块及其依赖项时,CPAN会反复出现以下错误:

Using Tar:/bin/tar xvf "YAML-0.84.tar":
Couldn't untar YAML-0.84.tar

我检查了,tar和/bin/tar已经安装并正常工作。

如果有任何信息,将不胜感激!


你配置了CPAN吗?在cpan shell中尝试“o conf”。/bin/tar在你的系统上是否真的存在? - Perleone
我已经设置好了(编辑原始帖子),这是在cpan> o conf之后tar的条目:“tar [/bin/tar]”。我也能够安装一些模块,不确定为什么这些模块不需要tar。tar在系统中的/bin/tar上运行正常。 - Jamie Pitts
你可能需要一个更现代的tar版本 - 尝试安装Archive::Tar。 - so not liopa
2
这解决了问题。更棒的是,cpan> install Archive::Tar 没出现"Couldn't untar" :) 谢谢,@so-not-liopa. - Jamie Pitts
1
@sonotliopa,你应该将你的评论重新发布为答案,这样它就可以被标记了。 - gideon
你们两个能做到这个吗?我还没有足够的stackoverflow声望来回答。 - Jamie Pitts
2个回答

3

当我在一台512M的虚拟机上运行时,遇到了这个问题。将分配的内存增加到1G后,问题得到了解决。


2
问题似乎是EC2实例上tar的版本太旧,无法解压缩YAML分发包。
最简单的解决方法是安装Archive::Tar,这样在将来的操作中,CPAN shell就可以使用它,而不是机器上的命令行tar。你只需要执行以下命令即可:
cpan> install Archive::Tar

幸运的是,CPAN shell能够在不遇到同样问题的情况下安装Archive::Tar。

(根据@so-not-liopa上面的评论,将其添加为答案,这样就不再被列为没有答案的问题了)


3
当我执行"cpan> install Archive::Tar"时,无法解压Archive-Tar-2.00.tar :( - mzalazar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接