Câu hỏi Cài đặt libwww-perl trên Ubuntu 12.04, SE


Tôi có một phiên bản máy chủ Ubuntu 12.04 mà tôi ssh vào.

Tôi đang chạy Perl script trên máy chủ này nhưng nó không thành công khi tôi tải

'use LWP::UserAgent;' with error message:
Can't locate LWP/UserAgent.pm in @INC (@INC contains: /home/hermann/scripts/modules/ /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at 1_standalone line 5.
BEGIN failed--compilation aborted at 1_standalone line 5.

Vì vậy, để khắc phục điều đó, tôi đang cố gắng cài đặt LWP :: UserAgent, mà tôi được thông báo là: sudo apt-get cài đặt libwww-perl

Nhưng khi tôi chạy lệnh đó tôi nhận được lỗi sau:

Failed to fetch http://is.archive.ubuntu.com/ubuntu/pool/main/libf/libfont-afm-perl/libfont-afm-perl_1.20-1_all.deb  Size mismatch
Failed to fetch http://is.archive.ubuntu.com/ubuntu/pool/main/libh/libhtml-tagset-perl/libhtml-tagset-perl_3.20-2_all.deb  Size mismatch
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

Bây giờ tôi đã thử làm sudo apt-get cập nhật, xuất hiện để chạy tốt nhưng không thay đổi bất cứ điều gì. Và tôi cũng đã thực hiện 'sudo apt-get install libwww-perl -fix-missing', cũng thất bại.

Làm cách nào để cài đặt libwww-perl?


4
2017-08-26 09:28


gốc




Các câu trả lời:


Đầu tiên, tôi khuyên bạn nên chống lại việc cài đặt 'perl way' trực tiếp, chúng sẽ chỉ làm cho mess trở nên lớn hơn. Bạn không cần chúng trong Ubuntu. libwww-perl tồn tại dưới dạng gói Ubuntu chuẩn.

Vì điều này không hiệu quả. Bạn nên bắt đầu bằng cách dọn dẹp cài đặt của bạn mà dường như bị hỏng. Trước tiên, hãy thử dọn dẹp cài đặt gói của bạn như sau:

sudo apt-get install -f
sudo apt-get update --fix-missing

và chỉ khi bạn không gặp lỗi, hãy chuyển sang cài đặt libwwww-perl, sử dụng:

sudo apt-get install libwww-perl

Cũng thế:

Dường như bạn có một danh sách thư mục perl rất khác thường (không chuẩn) là tìm kiếm các thư viện. Ví dụ, không nên có / etc / perl ở những nơi cần tìm thư viện, và trên Ubuntu bạn không cần bất cứ điều gì bắt đầu với / usr / local.

Để kiểm tra xem gói đã được cài đặt chưa, bạn có thể kiểm tra đầu ra của:

dpkg-query -S libwww-perl

Kiểm tra env của bạn cho các đường dẫn perl bị buộc phải thực hiện:

env | grep PERL

Nếu điều này cho bất kỳ đầu ra nào, tôi sẽ loại bỏ nó khỏi môi trường trước khi chạy perl: Hãy xem các tệp khởi động của bạn (~ / .bashrc ở cuối chú thích cuối cùng các cài đặt không chuẩn này)

Chúc may mắn!


7
2017-12-01 01:52





Thử thay đổi máy chủ tải xuống. Các nguồn phần mềm -> Phần mềm Ubuntu -> Tải xuống từ: chọn địa lý gần nhất từ ​​danh sách.

hoặc là

Hãy thử cách cài đặt Perl

perl -MCPAN -e 'install Bundle::LWP'

hoặc là

wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-6.04.tar.gz
tar xzf libwww-perl-6.04.tar.gz
cd libwww-perl-6.04
perl Makefile.PL
make
sudo make install

(Nguồn tải xuống của tôi đã chọn một máy chủ Ấn Độ để tải xuống tệp http://perlmirror.indialinks.com/authors/id/G/GA/GAAS/libwww-perl-6.04.tar.gz )

Nếu bạn đang tải xuống mô-đun LWP trong thư mục chính của bạn thì đừng quên thêm đường dẫn vào perl của bạn @INC 


2
2017-08-26 11:56



Khi máy chủ này được đặt ở một khoảng cách từ nơi tôi đang, tôi chỉ cần ssh-ing vào nó và do đó không thể nhập gui. Mà loại bỏ khả năng đầu tiên. Đối với sau này, cách Perl, tôi đã thử nó nhưng nhận được lỗi: 'không thể thực hiện: Lỗi không xác định'. - Hermann Ingjaldsson
bằng cách nào đó làm hỏng danh sách pkg của ubuntu, fsck không giúp đỡ, cài đặt lại tất cả các gói dẫn đến LWP :: Tác nhân người dùng không tìm thấy (mặc dù libwww-perl đang được cài đặt). Điều này đã làm việc! cảm ơn - Gotschi