2009-03-05 28 views

Trả lời

7

Nếu bạn tải xuống mã nguồn, thông thường nó sẽ có Makefile.PL. Bạn chạy "perl Makefile.PL; make; make test; make install" và nó sẽ xây dựng và cài đặt cho bạn.

Rõ ràng nếu bạn không sử dụng CPAN.pm, bạn sẽ phải tự mình xử lý các phụ thuộc.

Ngoài ra, nếu lý do bạn không thể sử dụng CPAN.pm là bạn không có quyền cài đặt vào/usr/lib/perl, bạn có thể buộc CPAN.pm cài đặt cục bộ, nhưng tôi quên cách.

+1

Hoặc cho Module :: Xây dựng dựa trên bản phân phối: perl Build.PL; perl Xây dựng; perl Xây dựng kiểm tra; perl Xây dựng cài đặt – ysth

+2

Chạy "o conf init" trong vỏ CPAN là cách đơn giản nhất để cấu hình lại toàn bộ điều. – Schwern

+0

Bạn có thể đặt giá trị cho cả hai makepl_arg và buildpl_arg để đặt bất kỳ giá trị nào bạn muốn vào thời gian tạo. Xem tài liệu CPAN.pm. –

0

Nếu tệp .pm là Perl tinh khiết và không cần biên soạn, bạn có thể đặt nó vào thư mục lib của ứng dụng và sử dụng nó như bình thường.

+0

Để làm rõ, nó phải là thư mục lib của ứng dụng của bạn, không phải thư mục lib của hệ thống của bạn. Thêm thủ công các tệp vào thư viện hệ thống của bạn là chỉ cần cầu xin cho sự phụ thuộc vào địa ngục sau này. – denkfaul

+0

Điểm tốt, chỉnh sửa câu trả lời của tôi. Tôi đã đặt .pms trong thư mục perl libs, nhưng tôi đã phát triển chúng và chúng không phụ thuộc: D –

+0

Tôi có UserAgent.pm. Tôi có thể đặt nó vào thư mục của chương trình? Điều gì xảy ra nếu nó có phụ thuộc? – lamcro

32

Nếu bạn tải xuống mã nguồn và đọc tệp README. Điều này có lẽ sẽ cho bạn biết bạn nên làm

perl Makefile.PL 
make 
make test 
make install 

hoặc

perl Build.PL 
./Build 
./Build test 
./Build install 
1

Nếu vấn đề là không có quyền truy cập root, tôi sẽ khuyên bạn nên nhìn vào local::lib và cũng this webpage cho CPAN.pm và lắp đặt không phải root.

Nhưng để trả lời câu hỏi như được hỏi, CPAN hoặc CPANPLUS là hữu ích, nhưng không bắt buộc. Bạn luôn có thể làm điều đó theo cách cũ như Leon nói - mặc dù thường thì không dễ dàng hơn.

+0

Bạn cũng có thể chạy "o conf init" để làm lại cấu hình CPAN đầy đủ. – Schwern

+0

Vì vậy, miễn là bạn có phong nha một trình biên dịch và truy cập để thực hiện, bạn có thể bootstrap địa phương :: lib vào thư mục chủ của bạn và không có quyền truy cập root là cần thiết ở tất cả. Mặt khác, tôi đã nhìn thấy các hộp năng lượng mặt trời với các trình biên dịch bị khóa khá nặng, hạn chế tính hữu dụng của phương pháp này. – singingfish

3

Nếu bạn đang ở trên một hộp Linux, một phần rất lớn của các gói thường có thể thu được bằng cách sử dụng được xây dựng trong quản lý gói. Ví dụ, trên một hệ thống Ubuntu, nếu bạn muốn cài đặt các module PostgreSQL Perl bạn sẽ làm đơn giản:

sudo apt-get install libpg-perl 

Bạn có thể thấy một danh sách các mô-đun cho Ubuntu ở đây: http://packages.ubuntu.com/hardy/perl/

Tôi tìm thấy tôi thường có thể đoán được tên mình. Không chắc chắn nếu điều này giúp ở tất cả, nhưng đối với bản thân mình, tôi thường thấy điều này dễ sử dụng hơn CPAN vì nó làm tốt hơn rất nhiều trong việc giải quyết các phụ thuộc.

+1

Vấn đề là cài đặt này sẽ được cài đặt vào hệ thống Perl của bạn. Thường thì bạn không muốn điều đó, ngay cả khi bạn nghĩ rằng bạn làm điều đó. –

0

Nếu bạn đang sử dụng Red Hat (Fedora, CentOS), bạn nên sử dụng RPM cho phụ thuộc Perl bất cứ khi nào có thể. Các gói Perl là hầu như luôn luôn là có tên perl-Module-Name, ví dụ: perl-DBI, perl-Spreadsheet-WriteExcel, v.v.

Trên Ubuntu, lược đồ đặt tên là libmodule-name-perl.

+0

Vấn đề là cài đặt này sẽ được cài đặt vào hệ thống Perl của bạn. Thường thì bạn không muốn điều đó, ngay cả khi bạn nghĩ rằng bạn làm điều đó. –

-1

Tôi, vì những người khác đã khuyên bạn nên sử dụng CPAN.pm. Đó là một cách dễ dàng để sử dụng và có thể giải quyết bất kỳ phụ thuộc liên quan đến các mô-đun bạn cần tự động.

Mặt khác, tôi khuyên bạn nên đọc tài liệu perlmodinstall qua số perldoc vì nó cũng cung cấp chi tiết về os khác '.

Kính trọng,

Jeff

+0

Không dễ sử dụng. Bạn đã từng thử sử dụng cpan.pm trên MinGW chưa? Nó cực kỳ khó. Nó hết bộ nhớ và không thành công, cố gắng cài đặt vào các thư mục mà bạn không có quyền truy cập, hoặc chỉ hỏi bạn quá nhiều câu hỏi khó mà bạn không biết câu trả lời. – Dmitry

+0

Tôi không sử dụng Windows và chưa bao giờ thử kết quả MiniGW, nhưng có vẻ như nó có vấn đề riêng. Bạn có thể thử chạy LInux trong một máy ảo với một cái gì đó như VirtualBox và xem nó hoạt động như thế nào cho bạn ở đó. – numberwhun

2

Xem ở đây: How to install perl modules using CPAN without root

Tôi vừa thiết lập này lên trên một máy chủ mà không cần truy cập root và CPAN làm mọi thứ tự động.

Nhưng nếu bạn thực sự muốn cài đặt một module mà không CPAN và bạn không có gốc (giả định này kể từ khi bạn không muốn sử dụng CPAN), bạn có thể làm điều đó như sau

perl Makefile.PL PREFIX=$HOME 
make 
make install 

Bạn sẽ phải tự mình săn lùng các phụ thuộc để sử dụng CPAN tốt hơn.

0

Chúng tôi có thể cài đặt tất cả các mô-đun perl cả từ và ngay cả với thiết bị đầu cuối của bạn trong ubuntu. Nếu bạn đang sử dụng máy chủ ubuntu thì hãy thực hiện lệnh sau, 'sudo apt-get install "perl_module"' Các mô-đun mà bạn muốn đặt tên trong "perl_module" có nghĩa là Nếu bạn muốn cài đặt Apache2 :: Cookie nó sẽ nằm trong "libapreq2", vì vậy bạn phải đưa ra như thế, "sudo apt-get install libapreq2"

-1

Nếu bạn đang hỏi điều này vì bạn đang gặp sự cố với CPAN ... có thể bạn đang hết RAM đó là lý do tại sao bạn không thể sử dụng CPAN.

Có thể bạn không có tệp hoán đổi. Hãy thử điều này:

$ sudo su 
# dd if=/dev/zero of=/swap bs=1M count=1k # create a 1GB file 
# mkswap /swap 
# swapon /swap 

Nếu không ... dừng một số dịch vụ.

$ sudo service mysql stop 
$ sudo service nginx stop 

... Và thử lại

$ cpan install CPAN 
$ cpan install MIME::Lite::TT::HTML 
+0

Để downvoter: Dừng lại để hậu môn về câu hỏi chữ, có một câu hỏi đằng sau mỗi câu hỏi và trong trường hợp này là hợp lệ là: tại sao CPAN không làm việc, bởi vì does't nói với bạn, nó chỉ thất bại và tôi ' đã chỉ thấy nó thất bại trong RAM thấp và điều đó xảy ra thường xuyên nhất nếu bạn không có trao đổi. – dagelf

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