2009-09-30 104 views
3

我有幾個腳本,我提供給用戶作爲他們的工程項目的工具。這些腳本包含許多重複的代碼。我想提取這些代碼並將其保存在一組模塊中。但是,爲了這個工作,用戶將不得不安裝這些模塊。我不想告訴我的用戶「進行安裝」等,因爲我相信他們中的任何一個都不會有耐心。如何安裝Perl腳本依賴關係?

我知道一種選擇是將PAR包裝在一起,但理想情況下用戶可以打開& &編輯這些腳本,如果他們需要的話,就像現在一樣。他們還需要能夠將它們移動到他們想要的任何目錄,並且我不希望它們也必須移動一堆庫文件。

是否可以創建一個雙擊文件來安裝一些捆綁的Perl模塊?

回答

5

我將我的腳本作爲模塊分發,然後使用正常的CPAN工具鏈進行安裝。看我的文章Scripts as ModulesAutomating Script Distributions with scriptdist。一旦你在常規模塊分佈有他們,你可以從他們的當前目錄cpan安裝:

% cpan . # install from distribution in the current directory 

根據您的情況多麼複雜,你可能希望創建一個DPAN,這是一個私人版本CPAN,您的CPAN工具可以從中吸取。你把所有的私有模塊都放在那裏,把你的CPAN工具指向它,並且所有事情都像真正的CPAN鏡像一樣。你永遠不必分享你的工作。

+0

我已經考慮了一段時間,我真的很喜歡這個答案。順便說一下,那些文章也是Good Readin。 我不確定我是否能夠走得更遠(我與一些不太熟悉計算機的工程師一起工作),但這可能是所問問題的最佳答案,尤其是因爲它不同於僅使用PAR包裝。 – Joe 2009-10-17 02:03:09

1

如果用戶正在使用包裝系統(dpkg,cygwin等)的系統,請考慮使用該系統。

+0

我從來沒有想過這一點,雖然幾乎沒有我的用戶使用的是這樣的事情,除非XP有一些包裝系統... – Joe 2009-10-17 02:02:34

1

如果你不介意花一些綠色,最好的選擇之一是來自ActiveState的Perl Dev Kit

從自身產品的描述,

  • 開發和部署Perl程序 給任何人 PerlApp的新的跨平臺 包裹在任何平臺上。
  • 將代碼發送爲 可執行文件或Windows服務, ActiveX組件,.NET程序集 或系統托盤中。
  • 使用Perl代碼輕鬆創建 MSI文件。
+0

我聽說Perl開發工具包很好,但必須有一種免費的方式。特別是因爲我正在免費做這項工作。 – Joe 2009-10-17 02:01:55

3

是包與PARShipwright(不知道有關二進制文件)。一路上還使用scandeps.pl

+0

那麼,PAR創建一個文件,但它不是一個二進制文件。 – 2009-09-30 16:49:47

+0

嗯,最好糾正一下,謝謝布萊恩。但它確實使他們+ X,所以我認爲他們是二進制文件(雖然我讀它只是拉他們和東西...),無論如何... – xxxxxxx 2009-09-30 20:10:32

0

您也可以考慮使用sparrow - 腳本分發系統。 Sparrow在寫入Perl時與Perl相得益彰。它通過紙箱工具支持CPAN模塊依賴關係。

PS免責聲明 - 我的工具筆者