2011-06-29 30 views
9

Có thể chạy nhiều lần cài đặt Perl (trong "vùng chứa") trên một máy không?Làm cách nào để chạy nhiều cài đặt Perl trên một máy?

Lý do là tôi có các ứng dụng web phía máy chủ dựa trên Perl khác nhau và muốn lên lịch cập nhật cho chúng một cách độc lập. Ví dụ, nâng cấp bugzilla dường như rất xâm lấn, tải xuống tất cả các cách thức hoặc cập nhật mô-đun và kéo dài (do đó tăng cơ hội hành vi không thể đoán trước trên các ứng dụng khác phụ thuộc vào các mô-đun đó, trong thời gian nâng cấp vẫn còn một phần).

Tôi nghĩ rằng có thể chạy nhiều ứng dụng CGI Perl phía máy chủ độc lập trên một máy chủ, tôi không muốn được chia tách chúng thành các máy khác nhau - tôi nghĩ đó là lãng phí và tôi không có tài nguyên đó dù sao.

Trả lời

9
+0

+1 Cảm ơn. Tôi sẽ phải chấp nhận tôi sẽ cần phải dành thời gian nhìn vào điều này để xem nó hoạt động như thế nào. Nhưng trước đó, tôi sẽ chấp nhận câu trả lời của bạn. Tôi sẽ để câu hỏi mở lâu hơn một chút để xem có ai muốn đóng góp không. Tôi hy vọng O'Reilly có thể cập nhật chuỗi Perl của họ với cách sử dụng này, tôi thích những hướng dẫn có thể đọc được của họ. – therobyouknow

+1

@Rob được cập nhật với các liên kết để biết thêm thông tin. – Raoul

+0

http://www.perlbrew.pl/ - ++ JACKPOT ++ !!! Cảm ơn bạn!!! Tình yêu này trích dẫn "Không cần phải chạy sudo để cài đặt các mô-đun CPAN, nữa." VÂNG!!! Không cần phải xâm nhập toàn cầu các mô-đun cài đặt trên toàn bộ hệ thống của bạn nữa. Tôi sẽ kiểm tra các liên kết khác. Cảm ơn. Câu trả lời được chấp nhận. – therobyouknow

7

Thật dễ dàng để cài đặt và quản lý nhiều tiện ích. Đơn giản chỉ cần cài đặt chúng ở những nơi khác nhau và sử dụng từng công cụ của perl. Tôi nói về điều này trong The Effective Perler.

Một số người đề nghị perlbrew mà không nhận ra rằng nó không thực sự mang lại cho bạn bất kỳ lợi ích nào. Nó có thể tải về một perl, cấu hình và cài đặt nó, và chuyển đổi xung quanh các liên kết tượng trưng để làm cho một trong những mặc định. Nó không làm bất cứ điều gì huyền diệu, mặc dù.

Việc tải xuống và cài đặt không phải là vấn đề. Bạn đã không bao giờ cần root hoặc sudo để làm điều đó, và nếu bạn làm thế, bạn vẫn sẽ cần nó cho perlbrew. Bạn luôn có thể cài đặt vào bất kỳ thư mục nào mà bạn có quyền. perlbrew không nhận được xung quanh đó cả. Từ thư mục nguồn, bạn có hai lệnh đơn giản để chạy:

$./Configure -des -Dprefix=/where/you/want/to/install 
$ make install 

Đối với bạn, đó có thể có nghĩa Bugzilla được perl riêng của mình:

$./Configure -des -Dprefix=/where/you/want/to/install/bugzilla-perl 
$ make install 

Từ đó, bạn có một perl hoàn toàn khép kín cài đặt. Khi nó quan trọng đối với tôi mà perl tôi sử dụng, tôi cung cấp cho các chương trình đầy đủ đường dẫn đến nó:

#!/where/you/want/to/install/bugzilla-perl/bin/perl 

Nó dễ dàng hơn để thực hiện các cài đặt cho mỗi ứng dụng mà không cần perlbrew, mà muốn làm nhiều như nó có thể cho bạn, bao gồm cả việc quyết định tên thư mục mà nó thích bạn không biết chút nào.

Lợi thế chính của perlbrew không phải là biên dịch và cài đặt, nhưng nó là tính năng switch để cho phép bạn tạo một giá trị mặc định. Bạn có thể không muốn tính năng đó mặc dù bởi vì bạn muốn bugzilla, chương trình CGI, và như vậy chỉ sử dụng perl bạn muốn họ sử dụng, không phải bất kỳ perl mặc định nào bạn đã chỉ định lần cuối.

Khi bạn muốn cập nhật bugzilla-perl, chỉ cần sử dụng nó công cụ, trong đó đã có điều chỉnh dòng công việc để tìm ra perl phải:

$ /where/you/want/to/install/bugzilla-perl/bin/cpan ... 

tôi không thích tất cả những con đường dài, dù , đó là lý do tại sao tôi thực hiện links to them all. Sau đó, tôi chỉ có thể gọi cho họ với bất kỳ kế hoạch đặt tên nào mà tôi quyết định, có thể là:

$ bugzilla-cpan ... 

Không bao giờ có câu hỏi về công cụ hoặc phiên bản nào tôi đang sử dụng.

+0

+1 cảm ơn brian d foy. Tôi thấy những gì bạn đang nói, tôi sẽ suy nghĩ về nó và trở lại. Sách của bạn có sẵn dưới dạng pdf không? – therobyouknow

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