2017-04-24 92 views
10

有沒有一種標準的方法來升級到新的,次要版本(和二進制兼容)的Perl,而無需從源代碼完整重新編譯?源代碼就地升級

例如,如果我的Perl v5.24.0安裝了一堆CPAN模塊,我可以將此安裝升級到v5.24.1,而無需重新編譯全新的構建,並對v5下安裝的所有CPAN模塊執行相同的操作.24.0?還是必須創建一個所有已安裝的CPAN模塊的列表,編譯一個新的Perl,並使用新編譯的版本重新安裝這些CPAN模塊?

我沒有看到一個簡單的方法來「修補」當前系統,使用最新版本的源代碼。 (注意:我想知道是否有一種本地方式來做到這一點(即,不使用perlbrew))。

+1

您不應該需要重新安裝模塊。 – melpomene

+0

相關:http://modernperlbooks.com/mt/2009/05/perl-5-and-binary-compatibility.html – jm666

+7

不關心反對票。這是StackOverflow,這裏有一些用戶認爲唯一正確的perl問題就像_how在perl_或者類似的方式中顛倒列表,當然還有提供的代碼。他們忘記了這裏還有關於以下內容的主題([help/on-topic]):程序員常用的_software工具;而且是一個實用的,可回答的問題,對軟件開發來說是獨一無二的 - 你的問題與上述問題完全一致。 – Nemo

回答

3

如果我有一堆模塊CPAN Perl安裝v5.24.0,我可以升級此安裝到v5.24.1無需重新編譯了一個全新的構建

據我所知,沒有。你必須從頭開始配置/編譯/安裝新的perl。

並對v5.24.0下安裝的所有CPAN模塊執行相同操作?

是:Configure問你現有的Perl版本,以及是否應包括在@INC他們的目錄。如果你說yes(我相信是默認的),那麼你的新perl中可以使用所有已安裝的模塊。


這就是說:

還是我必須創建所有安裝CPAN模塊的列表

這很容易與cpan -a

$ cpan -a 
... lots of modules listed here ... 

Wrote bundle file 
    /home/user/.cpan/Bundle/Snapshot_2017_04_25_00.pm 

並用usi重新安裝那些CPAN模塊新編譯的版本?

安裝新版本後,運行

$ cpan Bundle::Snapshot_2017_04_25_00 

(或任何名義cpan -a了在上一步中的快照文件),它應該安裝在你面前擁有一切。

+0

謝謝。這可以作爲解決方案。我仍然感到驚訝,沒有一個可以升級到最新次要版本的直接內置。 – secJ