2012-09-22 62 views
2

我的webapp取決於很多模塊。當我在遠程服務器上部署時,我必須要cpanm重新安裝所有模塊,它具有以下問題:以源代碼形式捆綁perl prereq模塊進行部署?

  • 慢。
  • 不能包含專用模塊/專用補丁
  • 會安裝最新版本的模塊,而不是我正在使用的模塊。

所以我想在部署時重新分配它們。我幾乎可以使用PAR,但是我不能這樣做,因爲我不想以二進制的形式做到這一點 - 就像Perl版本一樣,體系結構可能會有所不同。

Module::Install::Bundle是我找到的衣櫃。在指定prereq時,它可以從CPAN自動獲取模塊及其所有依賴項(直至核心模塊)。模塊不會構建和測試,但「make install」什麼也不做 - 它根本不安裝這些prereq。

有什麼我錯過了?

我在Windows上使用Strawberry Perl。

回答

0

你可能會看看Carton。有了這個,你可以爲你的應用程序提供一套獨立的依賴關係。

+0

只是試了一下,如果我沒有弄錯,它仍然只能修改二進制版本(安裝 - 緩存),或者從互聯網抓取。我應該提到包含私有模塊/補丁是我的目標之一。 – HelloSam

1

Pinto爲您提供了一種私人的超級CPAN鏡像,只在需要時升級,並且只有您想要升級的模塊。它也可以接受包含私人補丁的tarball。 Here's a video on the subject