由於發現perlbrew,我是一個快樂CPAN用戶。但是我從來沒有想到的是如何讀取模塊的更新日誌。例如,看着過時的,在CPAN命令「R」的時候,我想輕鬆地檢查更新日誌,以決定是否要升級與否。你如何閱讀CPAN更新日誌?
我當然可以下載模塊,解開它,並四處尋找更新日誌。但我希望有一個更簡單的方法。你怎麼做呢?
我使用的是舊CPAN命令。如果CPANPLUS或cpanminus支持這一點,我會考慮切換。
由於發現perlbrew,我是一個快樂CPAN用戶。但是我從來沒有想到的是如何讀取模塊的更新日誌。例如,看着過時的,在CPAN命令「R」的時候,我想輕鬆地檢查更新日誌,以決定是否要升級與否。你如何閱讀CPAN更新日誌?
我當然可以下載模塊,解開它,並四處尋找更新日誌。但我希望有一個更簡單的方法。你怎麼做呢?
我使用的是舊CPAN命令。如果CPANPLUS或cpanminus支持這一點,我會考慮切換。
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 changes到tokuhirom cpan-outdated
/I3az/
我只看上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是你的叔叔。這比我關心的要多得多。我只是更新一些東西,稍後再看看這些變化是否會破壞。
謝謝,我錯過了-C標誌,因爲我總是用外殼,而它不是公開爲命令在那裏。這應該很容易實現,也許我給自己一個新的項目在這裏:-) – 2010-09-24 08:17:28
另外,我同意看到所有的變化,一次會太亂了,我只想要一個特定的模塊。 – 2010-09-24 08:18:32
這將是非常酷添加到CPAN(1)。我必須「看看你在那裏做了什麼」:) :) – 2010-09-24 16:47:05
@brian d foy:所有的榮譽都應該去Tokuhirom(http://github.com/tokuhirom),因爲我的改變非常小。 – draegtun 2010-09-24 17:10:57
非常好,這正是我一直在尋找的。謝謝! – 2010-09-26 09:16:27