2012-03-08 9 views
10

Tôi tự hỏi nếu có ai có thể giúp tôi. Tôi đã cài đặt CPAN.pm qua dòng lệnh và sau đó thử cài đặt một mô-đun qua CPAN. Nhưng tôi đã gặp lỗi:lỗi khi chạy cpan lần đầu tiên

Can't call method "http" on unblessed reference at /usr/lib/perl5/5.10.0/CPAN/FirstTime.pm line 1866. 
+1

"CPAN đã cài đặt"? CPAN là một mô-đun cốt lõi. – TLP

+0

@TLP Vâng, đó là CPAN mà tôi đã cài đặt từ dòng lệnh coz đầu tiên có vẻ như nó không phải là một phần của hệ thống tôi đang duy trì (fedora11). Tôi biên soạn/cài đặt nó từ nguồn sau đó đã thử cài đặt một mô-đun thông qua nó. Đó là sau đó tôi gặp phải lỗi tôi đánh dấu. Hãy lưu ý rằng http_proxy của tôi được đặt nên không có vấn đề gì với kết nối Internet của tôi – icasimpan

+0

Bạn cần hiển thị cho chúng tôi những gì bạn đã làm trên dòng lệnh. –

Trả lời

6

Trước hết tôi ngạc nhiên rằng CPAN chưa được cài đặt vì nó đã là một phần của phân phối Perl chuẩn kể từ Perl 5.004 được phát hành mười lăm năm trước.

Thứ hai Tôi ngạc nhiên rằng bạn vẫn đang sử dụng Fedora 11. Đó là phiên bản đã được hỗ trợ kể từ tháng Sáu năm 2010.

Thứ ba, tôi ngạc nhiên khi bạn muốn sử dụng CPAN.pm như CPANPLUScpanminus là cả hai giao diện tốt hơn cho CPAN.

Nhưng với tất cả những điều bất ngờ đó, nếu bạn muốn CPAN trên hệ thống của bạn, cách tiếp cận tốt nhất có lẽ là sử dụng phương pháp mà dự án Fedora đã tạo sẵn cho bạn.

$ sudo yum install perl-CPAN 

Sẽ có sẵn một số mô-đun CPAN có sẵn từ Fedora. Bạn có thể xem tất cả chúng bằng cách sử dụng:

$ yum list available perl-\* 

Bạn sẽ tìm thấy nhiều hơn nữa cho các phiên bản gần đây của Fedora.

Bạn gần như chắc chắn có thể nhận CPANPLUS bằng cách cài đặt perl-CPANPLUS. Tôi nghi ngờ liệu cpanminus có sẵn cho một phiên bản cũ của Fedora hay không.

+0

đề xuất của bạn để cài đặt 'yum install perl-CPAN' cho tôi. Cảm ơn :) – icasimpan

+0

Nhưng hãy lưu ý các đề xuất khác của tôi nữa. 1/Nâng cấp lên phiên bản Fedora được hỗ trợ. 2/Sử dụng CPANPLUS hoặc cpanminus tùy theo CPAN. –

+0

Tôi sẽ lưu ý đề xuất của bạn cho CPANPLUS hoặc cpanminus. Tôi khá mới với Perl để giúp. Theo đề xuất của bạn để nâng cấp lên phiên bản Fedora được hỗ trợ, tôi không có quyền tự do làm điều đó. Nhóm phát triển trong công ty chúng tôi ra lệnh cho phiên bản/phiên bản nào cần sử dụng. – icasimpan

0

Tôi đã gặp lỗi tương tự và không có đặc quyền root. Vấn đề nằm với đó là hai phiên bản của CPAN cài đặt:

  • /usr/bin/CPAN
  • /usr/local/bin/CPAN

Khi tôi đã chỉ định cựu, mọi thứ đã bắt đầu làm việc.

6

Tôi vừa gặp sự cố tương tự khi cài đặt Perlbrew.

Sau khi thực hiện một số gỡ lỗi, tôi phát hiện ra rằng lỗi này xảy ra vì logic CPAN không thể tìm thấy ứng cử viên gương. Tất nhiên, điều này có thể được cải thiện trong CPAN :: Mirrors hoặc CPAN :: FirstTime bởi chỉ cần kiểm tra kết quả trả về bởi các hàm liên quan.

Vì chúng không được kiểm tra (và do đó giả định rằng luôn trả về một số giá trị), tôi nhận được lỗi vô nghĩa này. Nhưng tôi phải nói rằng tôi đã không kiểm tra thêm để xem tại sao không có giá trị nào được trả lại sau khi tất cả.

Bạn có thể tránh được lỗi này một cách an toàn bằng cách chọn Không là câu trả lời cho cấu hình tự động. Tất nhiên, bạn sẽ cần phải trả lời cho mỗi một trong các chỉ thị cấu hình.

Tôi nhận được điều này trong khi cài đặt perl 5.16.3 qua perlbrew.

3

Lỗi này có thể được giải quyết bằng cách nhập trường tên người dùng và mật khẩu vào proxy mà cpan sử dụng. 1] Đầu tiên Install CPAN bởi

sudo yum install perl-CPAN 

2] Sau đó chạy lệnh sau

cpan 

Nó yêu cầu thiết lập cơ bản, sau đó chọn "NO" tùy chọn để tự động chọn sau đó tiếp tục nhấn nhập cho đến khi bạn là được yêu cầu "Tự động kết nối với internet", nhấn không.

3] Sau đó, bạn sẽ được yêu cầu cung cấp các chi tiết gương từ danh sách được cung cấp.

4] Sau đó thiết lập tên người dùng proxy và các lĩnh vực mật khẩu

5] Lắp đặt sau đó sẽ được hoàn thành và nó sẽ đưa bạn đến CPAN> nhắc như dưới đây

cpan> 

6] Trong cửa sổ nhập

install Bundle::LWP