2012-02-23 21 views
8

tôi nhận được lỗi như thế nàykhi sử dụng CPAN trong ubuntu linux tôi nên chạy nó bằng cách sử sudo/root hoặc khi người dùng mặc định của tôi

 
Running make install 
Prepending blib/arch and blib/lib of 17 build dirs to PERL5LIB; for 'install' 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
ERROR: Can't create '/usr/local/man/man3' 
Do not have write permissions on '/usr/local/man/man3' 
 
    You may have to su to root to install the package 
    (Or you may want to run something like 
    o conf make_install_make_command 'sudo make' 

sẽ Tôi vẫn có thể chạy phần mềm/thư viện mà perl/CPAN cài đặt làm người dùng mặc định của tôi.

Phương pháp hay nhất khi làm việc với CPAN/Perl trên Debian như hệ thống.

Trả lời

15

Bạn nên chạy lệnh cpan làm người dùng thông thường của mình. Bạn có hai lựa chọn:

  1. Cài đặt mô-đun vào thư mục trong thư mục chính của bạn. local::lib sẽ giúp bạn thiết lập điều đó.

  2. Định cấu hình cpan để sử dụng sudo trong giai đoạn cài đặt. Bạn làm điều đó bằng cách bắt đầu cpan vỏ và gõ:

    o conf make_install_make_command 'sudo make' 
    o conf mbuild_install_build_command 'sudo ./Build' 
    o conf commit 
    

    Dòng đầu tiên cấu hình MakeMaker sử dụng sudo. Dòng thứ hai làm tương tự cho Module::Build. Dòng thứ ba lưu các thay đổi.

+0

Tôi nghĩ rằng việc thêm sudo vào lệnh make sẽ tuân theo quy tắc lập trình của nỗ lực ít nhất. Vì vậy, CPAN có thể xây dựng với các lỗi cho phép. Tôi sẽ không phải hack xung quanh để có được những thứ làm việc. – nelaaro

+0

Đó không phải là hai lựa chọn duy nhất. Bạn có thể đặt các thư mục đích để có quyền sở hữu, nhóm hoặc quyền thích hợp để bạn không phải sudo. Đó là lý do tại sao Unix có tất cả những thứ đó. :) –

+2

Bài viết này cũng hữu ích cho tôi: http://learnperl.scratchcomputing.com/tutorials/configuration/ – Jake88

3

Nếu bạn muốn cài đặt mô-đun như một người sử dụng không phải root, bạn có thể cấu hình CPAN của bạn để sử dụng một cơ sở cài đặt:

makepl_arg   [INSTALL_BASE=/home/nelaar/perl] 
mbuildpl_arg  [--install_base=/home/nelaar/perl] 

Và thiết PERL5LIB phù hợp để /home/nelaar/perl/lib/perl5.

7

Nếu bạn muốn cài đặt mô-đun để sử dụng, thì bạn nên tự mình chạy mô-đun. Sử dụng local::lib để thiết lập biến môi trường của bạn để hoạt động này trở nên độc đáo. Bạn có thể xem cpan minus như là một thay thế cho trình cài đặt cpan mặc định.

Bạn cũng có thể cân nhắc sử dụng perlbrew để cài đặt phiên bản mới hơn của perl hoàn toàn độc lập với hệ thống perl.

Nếu bạn muốn cài đặt rộng hệ thống, tôi khuyên bạn nên (vì bạn đã gắn thẻ số này ubuntu) xem dh-make-perl để tạo các tệp .deb mà bạn có thể cài đặt và gỡ cài đặt bằng dpkg.

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