CPAN Perl模块安装程序找不到tar文件

CPAN Perl模块安装程序找不到tar文件,perl,module,installation,cpan,Perl,Module,Installation,Cpan,似乎我在通过CPAN安装Perl模块时遇到了配置问题,我不知道如何更正它: [root@ip JESSE]# pwd /root/.cpan/sources/authors/id/J/JE/JESSE [root@ip JESSE]# ls -l total 240 -rw-r--r-- 1 root root 105464 Feb 20 11:39 CHECKSUMS -rw-r--r-- 1 root root 9223 Apr 12 2011 Locale-Maketext-Sim

似乎我在通过CPAN安装Perl模块时遇到了配置问题,我不知道如何更正它:

[root@ip JESSE]# pwd
/root/.cpan/sources/authors/id/J/JE/JESSE

[root@ip JESSE]# ls -l
total 240
-rw-r--r-- 1 root root 105464 Feb 20 11:39 CHECKSUMS
-rw-r--r-- 1 root root   9223 Apr 12  2011 Locale-Maketext-Simple-0.21.tar.gz
-rw-r--r-- 1 root root 125483 Feb 20 11:39 WWW-Mechanize-1.72.tar.gz

[root@ip JESSE]# cpan -i WWW::Mechanize
CPAN: Storable loaded ok (v2.20)
Reading '/root/.cpan/Metadata'
  Database was generated on Mon, 20 Feb 2012 11:10:26 GMT
Running install for module 'WWW::Mechanize'
Running make for J/JE/JESSE/WWW-Mechanize-1.72.tar.gz
CPAN: Digest::SHA loaded ok (v5.61)
CPAN: Compress::Zlib loaded ok (v2.033)
Checksum for /root/.cpan/sources/authors/id/J/JE/JESSE/WWW-Mechanize-1.72.tar.gz ok
CPAN: Archive::Tar loaded ok (v1.82)
Uncompressed /root/.cpan/sources/authors/id/J/JE/JESSE/WWW-Mechanize-1.72.tar.gz successfully
Using Tar:/bin/tar xvf "WWW-Mechanize-1.72.tar":
Couldn't untar WWW-Mechanize-1.72.tar
CPAN: File::Temp loaded ok (v0.22)
CPAN: CPAN::Meta loaded ok (v2.112150)
Package seems to come without Makefile.PL.
  (The test -f "/root/.cpan/build/JESSE-n72IRU/Makefile.PL" returned false.)
  Writing one on our own (setting NAME to WWWMechanize)
  Had problems unarchiving. Please build manually
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install

[root@ip JESSE]# ls -l
total 240
-rw-r--r-- 1 root root 105464 Feb 20 11:39 CHECKSUMS
-rw-r--r-- 1 root root   9223 Apr 12  2011 Locale-Maketext-Simple-0.21.tar.gz
-rw-r--r-- 1 root root 125483 Feb 20 11:39 WWW-Mechanize-1.72.tar.gz

[root@ip JESSE]# which tar
/bin/tar

[root@ip JESSE]# which gzip
/bin/gzip
问题似乎就在这里:

Uncompressed /root/.cpan/sources/authors/id/J/JE/JESSE/WWW-Mechanize-1.72.tar.gz successfully
Using Tar:/bin/tar xvf "WWW-Mechanize-1.72.tar":
Couldn't untar WWW-Mechanize-1.72.tar
tar.gz文件实际上是未压缩的,可以在以下新目录中找到:

/root/.cpan/build/JESSE-KjCEMS/WWW-Mechanize-1.72.tar
如果我从shell内部运行相同的命令,我将获得更多信息:

cpan[1]> install WWW::Mechanize
CPAN: Storable loaded ok (v2.20)
Reading '/root/.cpan/Metadata'
  Database was generated on Mon, 20 Feb 2012 11:10:26 GMT
Running install for module 'WWW::Mechanize'
Running make for J/JE/JESSE/WWW-Mechanize-1.72.tar.gz
CPAN: Digest::SHA loaded ok (v5.61)
CPAN: Compress::Zlib loaded ok (v2.033)
Checksum for /root/.cpan/sources/authors/id/J/JE/JESSE/WWW-Mechanize-1.72.tar.gz ok
Scanning cache /root/.cpan/build for sizes
Use of uninitialized value $newdir in substitution (s///) at /usr/lib64/perl5/Cwd.pm line 502.
Use of uninitialized value $newdir in chdir at /usr/lib64/perl5/Cwd.pm line 510.
Use of chdir('') or chdir(undef) as chdir() is deprecated at /usr/lib64/perl5/Cwd.pm line 510.
Use of uninitialized value $newdir in pattern match (m//) at /usr/lib64/perl5/Cwd.pm line 525.
Use of uninitialized value $newdir in split at /usr/lib64/perl5/Cwd.pm line 531.
..........................................................................--DONE
DEL(1/10): /root/.cpan/build/CPAN-1.9600-jGTV10
DEL(2/10): /root/.cpan/build/File-Which-1.09-yoVWZC
DEL(3/10): /root/.cpan/build/Test-Script-1.07-aJWrXb
DEL(4/10): /root/.cpan/build/Probe-Perl-0.01-gzZ2eR
DEL(5/10): /root/.cpan/build/IPC-Run3-0.044-AP6EMp
DEL(6/10): /root/.cpan/build/Time-HiRes-1.9721-xxseE6
DEL(7/10): /root/.cpan/build/CPAN-Meta-YAML-0.003-wGtH0a
DEL(8/10): /root/.cpan/build/JSON-PP-2.27105-fvkwNa
DEL(9/10): /root/.cpan/build/Package-Constants-0.02-7Ms_OL
DEL(10/10): /root/.cpan/build/Module-Metadata-1.000004-tXKIBB
CPAN: Archive::Tar loaded ok (v1.82)
Uncompressed /root/.cpan/sources/authors/id/J/JE/JESSE/WWW-Mechanize-1.72.tar.gz successfully
Using Tar:/bin/tar xvf "WWW-Mechanize-1.72.tar":
Couldn't untar WWW-Mechanize-1.72.tar
CPAN: File::Temp loaded ok (v0.22)
CPAN: CPAN::Meta loaded ok (v2.112150)
Package seems to come without Makefile.PL.
  (The test -f "/root/.cpan/build/JESSE-DGrTh_/Makefile.PL" returned false.)
  Writing one on our own (setting NAME to WWWMechanize)
  Had problems unarchiving. Please build manually
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install
Failed during this command:
 JESSE/WWW-Mechanize-1.72.tar.gz              : unwrapped NO -- untar failed
在我看来,$newdir并没有被动态生成的
/root/.cpan/build/JESSE-DGrTh郦/
/root/.cpan/build/JESSE KjCEMS/
或系统生成的任何内容更新,或者至少该信息没有到达tar命令


有人知道我如何在不必手动安装的情况下修复该机制吗?

一语道破:分区已满。删除一些文件。

编辑:

我又遇到了这个问题。我所需要做的就是像基思·布劳顿建议的那样释放一些记忆


我遇到了同样的问题,并试图找到这个问题的根本原因。我在这里列出了我的发现,这样其他谷歌用户就不必在放弃之前花上几个小时

对我来说,解决这个问题的方法就是重新启动系统

我尝试过的事情:

  • 升级CPAN。这也会失败,并显示“无法卸载”错误消息。如果您使用cpanshell“cpan-icpan”或“perl-MCPAN-e‘installcpan’”来尝试它,我并不在意。我认为这些都不能解决问题,但当你开始用谷歌搜索时,所有这些都是可能的解决方案
  • 将tar替换为记录其输入的脚本,以检查调用某个参数或cwd时该参数或cwd是否不正确。剧本似乎从来没有被称为。即使在临时重命名/bin/tar之后,“无法卸载”消息仍然相同
  • 检查CPAN/Tarzip.pm,并在写入“cannotuntar”消息的代码附近添加打印行。似乎system()调用失败,并且从未调用tar(或调试代码中的ls)
然后我决定重新启动,这是一个选项,因为这不是一个实时系统。在那之后,问题就解决了,Perl模块在第一次尝试时就安装好了

其他意见:

  • 这个系统在其他方面似乎运行良好。您仍然可以连接到系统,可以编辑文件,重新启动后修改仍然存在。我希望在Perl system()调用开始失败之前,这些调用中的任何一个都会失败
  • 快速扫描日志文件不会显示任何红色标志

有时,这可能仅仅是因为缺少可用内存。请尝试关闭正在运行的某些服务,然后重试


为我工作:-)

以解决以下错误:

无法卸载WWW-Mechanize-1.72.tar
尝试安装
Archive::Tar

在centos 6.X上:

yum安装perl-Archive-Tar.x86_64

在运行Ubuntu的512MB内存的DigitalOcean droplet上发现了同样的问题(大约200MB可用内存)

我可以通过重新启动机器来解决这个问题,我尝试使用“install Bundle::CPAN”更新我的CPAN。它对前几个模块起作用,然后“无法卸载”消息再次出现

重新启动允许我继续安装。这些重复的重新启动当然不是一个最佳的解决方案


考虑到系统有可用内存,并且该问题在使用机器一段时间后再次出现,似乎这可能与共享库的问题有关。

当我运行“cpan”时,它告诉我它使用的是Storable 2.30,因此您的安装不太可能完全是最新的。
cpan--version
的输出显示“cpan1.57”(有点)。然而,这并不能解释这个问题,除非它是您正在使用的版本中的一个缺陷。只是WWW::Mechanize,还是所有受影响的模块?(我通常使用“cpanp”;我最后一次使用“cpan”似乎是在11月。而且WWW::Mechanize已经是最新的了。)我同意乔纳森的观点,首先升级;调试过时的软件毫无意义。我做了升级,但它说一切都是最新的。这是cpan-OCPAN::Meta::Converter 2.1122 2.1204 cpan::Meta::Feature 2.1122.1204 cpan::Meta::History 2.1122.1204 cpan::Meta::Prereqs 2.1122.1204 cpan::Meta::Spec 2.1122 2.1204 cpan::Meta::Validator的相关部分2.1122.1204 CPAN::Meta::YAML 0.0030 0.0070所有模块都以相同的方式受到影响。这正是我的问题。在释放了一些记忆后,一切都很好。我在数字海洋也遇到了这种情况。只要重新启动机器,它就会神奇地工作。我在安装“install Moose”时遇到了同样的问题。正在看到错误,无法解开驼鹿-2.2011.tar。重新启动服务器修复了此问题。谢谢