2010-09-24 56 views
5

由於發現perlbrew,我是一個快樂CPAN用戶。但是我從來沒有想到的是如何讀取模塊的更新日誌。例如,看着過時的,在CPAN命令「R」的時候,我想輕鬆地檢查更新日誌,以決定是否要升級與否。你如何閱讀CPAN更新日誌?

我當然可以下載模塊,解開它,並四處尋找更新日誌。但我希望有一個更簡單的方法。你怎麼做呢?

我使用的是舊CPAN命令。如果CPANPLUS或cpanminus支持這一點,我會考慮切換。

回答

3

cpan-outdated幾乎做了你需要開箱什麼:

$ cpan-outdated --compare-changes 

以上產生於你的單個過時模塊所有Changes文件,並從CPAN最新之間的差異。但是,如果你有很多過期的模塊,這可能會拖延很長一段時間。

幸運的是隻用了一些變更,添加這些選項:http://github.com/draegtun/cpan-outdated

$ cpan-outdated --pkg Catalyst::View::TT --compare-changes 

$ cpan-outdated --filter-pkg Catalyst --compare-changes 

我的更新可以在Github這裏找到。這裏是diff of my changestokuhirom cpan-outdated

/I3az/

+0

這將是非常酷添加到CPAN(1)。我必須「看看你在那裏做了什麼」:) :) – 2010-09-24 16:47:05

+0

@brian d foy:所有的榮譽都應該去Tokuhirom(http://github.com/tokuhirom),因爲我的改變非常小。 – draegtun 2010-09-24 17:10:57

+0

非常好,這正是我一直在尋找的。謝謝! – 2010-09-26 09:16:27

6

我只看上CPAN Search。每個發行版的主頁面鏈接到主文件,並且您還可以瀏覽整個發行版。您不必下載或打開發行包。

您還可以使用CPAN命令的-C開關,這樣你就不必進入CPAN.pm殼:

$ cpan -C Some::Module 

我不知道任何東西會告訴你在更改文件一次爲所有過時的模塊。這在終端上可能會有點混亂。您也許能夠拼湊的東西與-O開關:

$ cpan -O | perl -anle 'print $F[0] if $. > 9' | xargs cpan -C 

$. > 9位有跳過CPAN.pm輸出和表頭。確實很難看。

如果你想做更多的事情,你可以讓管道的最後部分一些腳本單獨運行cpan -C並將結果保存到文件中。把所有的文件放在Changes的目錄中,Bob是你的叔叔。這比我關心的要多得多。我只是更新一些東西,稍後再看看這些變化是否會破壞。

+0

謝謝,我錯過了-C標誌,因爲我總是用外殼,而它不是公開爲命令在那裏。這應該很容易實現,也許我給自己一個新的項目在這裏:-) – 2010-09-24 08:17:28

+0

另外,我同意看到所有的變化,一次會太亂了,我只想要一個特定的模塊。 – 2010-09-24 08:18:32