Có vẻ như tôi có một vấn đề cấu hình khi cài đặt module Perl qua CPAN và tôi không biết làm thế nào để sửa chữa nó:CPAN Perl module cài đặt không tìm thấy tập tin tar
[[email protected] JESSE]# pwd
/root/.cpan/sources/authors/id/J/JE/JESSE
[[email protected] 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
[[email protected] 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
[[email protected] 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
[[email protected] JESSE]# which tar
/bin/tar
[[email protected] JESSE]# which gzip
/bin/gzip
Vấn đề có vẻ là ở đây:
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
Các tập tin tar.gz là thực sự không nén và có thể được tìm thấy ở đây trong một thư mục mới:
/root/.cpan/build/JESSE-KjCEMS/WWW-Mechanize-1.72.tar
Nếu tôi chạy lệnh tương tự từ bên trong vỏ, tôi nhận được một số thông tin thêm:
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
Dường như với tôi rằng $ newdir không được cập nhật với những tạo động /root/.cpan/build/JESSE-DGrTh_/
hoặc /root/.cpan/build/JESSE-KjCEMS/
hoặc bất cứ hệ thống tạo hoặc ít nhất thông tin đó không nhận được lệnh tar
Có ai biết cách tôi có thể khắc phục cơ chế mà không cần phải cài đặt thủ công không?
Khi tôi chạy 'cpan', nó cho tôi biết nó đang sử dụng Storable 2.30, vì vậy rất có thể cài đặt của bạn đã được cập nhật đầy đủ. Đầu ra từ 'cpan --version' nói 'CPAN 1.57' (loại). Tuy nhiên, điều đó không giải thích được vấn đề, trừ khi đó là lỗi trong phiên bản bạn đang sử dụng. Nó chỉ là WWW :: Mechanize, hay tất cả các module bị ảnh hưởng? (Tôi thường sử dụng 'cpanp'; cuối cùng tôi đã sử dụng 'cpan' vào tháng 11, có vẻ như vậy. Và WWW :: Mechanize đã được cập nhật.) –
Tôi đồng ý với Jonathan, nâng cấp ['Bundle :: CPAN'] (http://p3rl.org/Bundle::CPAN) trước tiên; không có ý nghĩa trong việc gỡ lỗi phần mềm đã lỗi thời. – daxim
Tôi đã nâng cấp nhưng nó cho biết mọi thứ đã được cập nhật. Đây là phần liên quan của cpan -O – user1164594