2016-07-08 14 views

Trả lời

12

cpan vỏ CPAN đã được xuất xưởng với Perl kể từ khoảng năm 1997. Khi bạn chạy nó lần đầu tiên nó hỏi một loạt câu hỏi và lưu câu trả lời trong tệp cấu hình. Sau đó, bạn có thể cài đặt mô-đun bằng cách chạy:

cpan -i Module::Name 

Shell cung cấp các lệnh khác để tìm kiếm CPAN và tìm trong tệp phân phối.

Dự án tạo vỏ CPAN mới hơn, tốt hơn và nổi bật hơn được gọi là CPANPLUS (cpanp từ dòng lệnh) được bắt đầu bằng Jos Boumans, nhưng nó chưa bao giờ hoàn thành đến mức tầm nhìn ban đầu đã được nhận ra.

Trong khi đó MIYAGAWA quyết định rằng cpanp đã cố gắng để làm quá nhiều và những gì thế giới thực sự cần là một cái vỏ đơn giản đó đã ít và câu hỏi ít hơn (lý tưởng không có gì cả). Ông đã tạo ra App::cpanminus cung cấp lệnh cpanm và thực hiện chính xác những gì ông dự định. Bạn có thể sử dụng nó để cài đặt một module (và tất cả phụ thuộc của mô-đun) với một lệnh như:

cpanm Module::Name 

Sự khác biệt chính giữa hai là nếu bạn có Perl bạn nên đã có lệnh cpan. Trong khi bạn sẽ không có cpanm trừ khi/cho đến khi bạn cài đặt nó.

+0

Vậy cái nào được sử dụng để cài đặt mô-đun? Là 'cpanm' tốt hơn bởi vì nó là mới hơn? – CJ7

+2

Sử dụng bao giờ bạn thích - hoặc là tốt. Tôi sẽ sử dụng 'cpan -i App :: cpanminus' để cài đặt cpanm và sau đó sử dụng' cpanm'.Tôi nghĩ rằng nó tốt hơn vì nó đơn giản hơn (chắc chắn không chỉ vì nó mới hơn). –

+1

@ CJ7, Không thực sự cài đặt bất cứ thứ gì. Chúng thực thi trình cài đặt có trong bản phân phối để cài đặt. Như vậy, sự khác biệt sẽ chủ yếu là mỹ phẩm. Tôi không thấy điểm nào không thể cài đặt 'cpanm' chỉ để tránh nhấn Enter khi lần đầu tiên' cpan' được chạy – ikegami

7

Hầu hết người dùng Perl hiện đại thích cpanm vì tính đơn giản và chủ yếu, ngắn gọn của đầu ra.

Sử dụng cpan có thể dẫn đến hàng trăm dòng đầu ra vì nó hiển thị cho bạn mọi thứ đang thực hiện: tải xuống, kiểm tra, chạy trình cài đặt, phân tích cú pháp, tải, danh sách tiếp tục. Điều tương tự cũng áp dụng cho mọi phụ thuộc.

cpanm mặt khác cho bạn biết nó đang làm gì theo cách ngắn gọn hơn và tổng quát hơn, đó là: Tìm nạp, Định cấu hình, Xây dựng và thử nghiệm, Xong.

Vì vậy, sự khác biệt chính trong sử dụng là cpanm ngăn chặn rất nhiều thông tin không liên quan (thường). Đôi khi khi mô-đun bị lỗi, bạn có thể muốn biết thêm thông tin. Có cờ -v|--verbose về cơ bản hiển thị cho bạn mọi thứ cpan.

Ngoài ra, một số mô-đun yêu cầu nhập của người dùng có thể bị 'treo' khi bạn cố cài đặt chúng. Đó là bởi vì đầu ra yêu cầu bạn gõ một cái gì đó bị chặn lại. Bạn có thể sử dụng các cờ --interactive (hoặc --verbose) để khắc phục điều đó.

Để so sánh đầu ra, hãy xem trang trình bày 35-39 here hoặc trang trình bày 37-41 here. (Đây là từ cùng một bài thuyết trình. Tôi chỉ sao chép các liên kết trong trường hợp một liên kết tắt.)

+4

* "Hầu hết người dùng perl hiện đại thích cpanm vì nó đơn giản và chủ yếu là ngắn gọn đầu ra." trích dẫn và là một phần không cần thiết của câu trả lời. Bạn rõ ràng là một fan 'cpanm' mà không nói điều đó, và không thể tin tưởng để đưa ra một tài khoản thực tế. * "một cách ngắn gọn hơn và chung chung" * chắc chắn nó không thể là cả hai? – Borodin

+0

"Chung" như được xác định bằng cách '_considering hoặc chỉ bao gồm các tính năng hoặc yếu tố chính của something_'. Chỉ bằng cách chỉ ra các thành phần chính của quá trình cài đặt mô-đun, đầu ra từ 'cpanm' có nhiều chi tiết hơn so với' cpan'. – Joshua

Các vấn đề liên quan