2009-08-17 21 views
16

Tôi muốn cài đặt, từ nguồn, các phiên bản Perl 5.005, v5.6, v5.8, v5.10Tôi nên cài đặt nhiều phiên bản Perl như thế nào?

Ngay bây giờ tôi đã 'v5.10.0' cài đặt.

 
/opt/perl/bin 
/opt/perl/html 
/opt/perl/lib 
/opt/perl/man 
/opt/perl/lib/5.10.0 
/opt/perl/lib/site_perl 
/opt/perl/lib/site_perl/5.10.0 

Tôi có bất kỳ vấn đề nếu tôi cài đặt chúng tất cả trong /opt/perl?

Hoặc tôi có nên chia chúng thành các thư mục, phiên bản cụ thể của riêng mình không? Giống như /opt/perl-5.10.0/

+2

Bạn cũng nên xem xét điều này: http://stackoverflow.com/questions/398221/how-do-you-manage-perl-modules-on-linux – innaM

+1

những ngày này là cách dễ nhất để giải quyết nhiều phiên bản của perl có lẽ là 'perlbrew' https://metacpan.org/module/perlbrew – mirod

Trả lời

13

Tôi cài đặt tất cả các lọn tóc của mình hoàn toàn trong thư mục riêng của chúng để chúng không chia sẻ bất kỳ thứ gì với bất kỳ perl nào khác. Để làm điều đó, bạn chỉ cần nói cho tập lệnh Configure nơi cài đặt mọi thứ. Tôi thích /usr/local/perls:

% ./Configure -des -Dprefix=/usr/local/perls/perl-5.x.y 

Khi tôi làm điều đó cho nhiều phiên bản, tôi nhận được một thư mục có cài đặt riêng biệt.

 
% ls -1 /usr/local/perls 
perl-5.10.0 
perl-5.10.1 
perl-5.6.2 
perl-5.8.8 

Tất cả đều có thùng riêng của họ và thư mục lib:

 
% ls -1 /usr/local/perls/perl-5.10.0 
bin 
lib 
man 

Hầu hết các công cụ phổ biến sẽ tìm ra những việc cần làm nếu bạn gọi họ bằng perls khác nhau:

/usr/local/perls/perl-5.10.0/bin/perl /usr/local/bin/cpan 

Tuy nhiên, bạn có thể lấy perl bạn muốn sử dụng nhiều nhất và đặt nó trước tiên trong đường dẫn của bạn. Tôi chỉ cần tạo một liên kết tượng trưng đến/usr/local/bin/perl, nhưng bạn cũng có thể thêm các thư mục vào PATH.

perlbrew thực hiện rất nhiều điều này cho bạn và di chuyển các liên kết tượng trưng xung quanh để tạo một trong số đó là perl mặc định.

+0

'/ usr/local/perls/bin' có thể là một nơi tốt để đặt các liên kết tượng trưng đến các phiên bản Perls cụ thể. Sau đó, tôi chỉ cần thêm nó vào 'PATH'. –

+1

-1 :: Sẽ hữu ích hơn khi đề cập đến cách sử dụng cpan với nhiều cài đặt Perl. –

+2

Chỉ cần gọi kịch bản lệnh 'cpan' trong thư mục bin thích hợp giống như bạn gọi các chương trình' perl' khác nhau. –

7

Chia chúng thành các thư mục riêng của phiên bản của riêng chúng, sau đó liên kết tượng trưng perl với phiên bản bạn muốn sử dụng tại thời điểm đó. Đây là cách có nhiều JRE/JDK được cài đặt hoạt động, vì vậy nó có vẻ có ý nghĩa đối với các cài đặt Perl.

0

Chúng tôi phát triển với nhiều phiên bản của Perl tại nơi làm việc và các thư mục riêng biệt là cách để đi. Chúng tôi đã thiết lập một lệnh shell nhỏ để sửa các liên kết và các biến môi trường để bạn có thể sử dụng perl mà bạn muốn một cách dễ dàng.

Nếu bạn lo lắng về việc quên perl nào đang được sử dụng, bạn có thể có tập lệnh như vậy thêm số phiên bản vào dấu nhắc trình bao của bạn.

1

Bạn thực sự nên cài đặt các phiên bản khác nhau vào các thư mục riêng biệt.

Khi tôi muốn thử nhiều phiên bản của một gói phần mềm đó không tồn tại như các gói cho bản phân phối Linux yêu thích của tôi, tôi sử dụng stow hoặc xstow như quản lý gói một người đàn ông nghèo:

  • Tạo một thư mục /usr/local/stow
  • Cài đặt các gói cá nhân vào /usr/local/stow/$PACKAGE-$VERSION
  • bản đồ một "gói" vào /usr/local: stow -d /usr/local/stow $PACKAGE-$VERSION
  • tắt một "gói": 012.

stow hoạt động bằng cách tạo và thao tác liên kết tượng trưng và có thể phát hiện xung đột.

+1

Thông tin thêm về GNU Stow có sẵn tại [trang chủ Stow] (http://www.gnu.org/software/stow/). Tôi đang tích cực duy trì nó. –

0

Trong khi cài đặt vào thư mục khác nhau thường là một cách tốt hơn để đi, bạn có thể sử dụng Cấu hình chuyển -Dversiononly sử dụng một thư mục duy nhất và bao gồm các phiên bản bộ ba trong tất cả các tên đường dẫn (ngoại trừ các file người đàn ông, mà bạn có thể muốn tránh cài đặt hoàn toàn), đem lại cho bạn một ví dụ perl5.10.0, cpan5.10.0, perldoc5.10.0 vv

2

Nếu bạn đang sử dụng máy chủ CentOS/RHEL, bạn có thể sử dụng hệ thống phần mềm Bộ sưu tập tương đối mới để cài đặt phiên bản khác của Perl ngoài "hệ thống Perl" (là 5.10 cổ trên EL6 và 5.8 trên EL5).

Có kho công cho một bộ cốt lõi của Perl 5.16 gói:

http://mirror.centos.org/centos/6/SCL/x86_64/

Cộng đồng đang làm việc trên xuất bản một tập hợp con lớn của CPAN như các gói cài đặt và bộ sưu tập xuất bản cho các phiên bản khác của Perl cũng .