首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CPAN Perl模块安装程序找不到tar文件

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

Stack Overflow用户
提问于 2012-02-20 15:12:04
回答 5查看 12.1K关注 0票数 11

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

代码语言:javascript
复制
[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

这个问题似乎就在这里:

代码语言:javascript
复制
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文件确实是未压缩的,可以在新目录中找到:

代码语言:javascript
复制
/root/.cpan/build/JESSE-KjCEMS/WWW-Mechanize-1.72.tar

如果我从shell内部运行相同的命令,我会得到更多信息:

代码语言:javascript
复制
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命令。

有谁知道我如何在不需要手动安装的情况下修复这个机制?

EN

回答 5

Stack Overflow用户

发布于 2012-07-25 09:03:58

编辑:

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

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

为我解决这个问题的只是简单的重新启动系统

我试过的事情:

  • 升级CPAN。如果出现“无法取消”错误消息,这也会失败。如果您使用cpan、"cpan -i CPAN“或"perl -MCPAN -e 'install CPAN'”来尝试它,我并不在意。我认为这些都不会解决问题,但当您开始谷歌搜索时,所有这些都被建议为可能的solutions.
  • Replacing tar,它使用一个脚本记录其输入,以检查调用参数或cwd时是否不正确。这个剧本似乎从来没有被称为。即使在临时重命名/bin/tar.
  • Checking CPAN/Tarzip.pm并在编写“不能取消”消息的代码附近添加打印行之后,“不能取消The”消息仍然是相同的。系统()调用似乎失败,tar (或我的调试代码中的ls )从未被调用过。

然后我决定重新启动,这是一个选择,因为这不是一个活的系统。之后,问题解决了,第一次尝试就安装了Perl模块。

其他意见:

  • ,这个系统似乎能正常工作。您仍然可以连接到系统,您可以编辑文件,修改后仍在重新启动。我希望在Perl系统()调用开始失败之前,任何一个都会失败。
  • 通过日志文件的快速扫描不会显示任何危险标志。
票数 13
EN

Stack Overflow用户

发布于 2012-09-26 11:41:01

有时候,这可能只是由于缺乏可用内存而发生的。尝试关闭一些正在运行的服务,然后再试一次。

为我工作:-)

票数 8
EN

Stack Overflow用户

发布于 2013-08-09 22:01:09

若要解决以下错误:

代码语言:javascript
复制
Couldn't untar WWW-Mechanize-1.72.tar

试着安装Archive::Tar

在centos 6.X:

代码语言:javascript
复制
yum install perl-Archive-Tar.x86_64
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9363372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档