我目前正在使用PAR Packer(pp)打包幾個pl腳本,這樣他們就可以複製到一臺機器上,並且「正常工作」,而不必讓我的客戶端與CPAN混淆。PAR包裝器可以生成獨立的腳本嗎?
不幸的是,PAR包裝器不適用於深度依賴性。例如,一個腳本導入CHI :: Driver :: File,但不顯式導入CHI :: Driver :: File所需的Log :: Any :: Adapter :: Null。 PAR不拿起這種依賴和運行生成的腳本將以下錯誤消息崩潰:
Can't locate Log/Any/Adapter/Null.pm in @INC (@INC contains: CODE(0x874aab8) /tmp/par-apache/cache-7b4508ab92efb43271da1629e8eb654c1572cc55/inc/lib /tmp/par-apache/cache-7b4508ab92efb43271da1629e8eb654c1572cc55/inc CODE(0x87e8f54) CODE(0x87e9194)) at (eval 215) line 3.
Compilation failed in require at CHI/Driver/File.pm line 11.
BEGIN failed--compilation aborted at CHI/Driver/File.pm line 11.
我的解決辦法是明確地導入「登錄::任何::適配器::空」但必須有是更好的方法。也許這是PAR Packer的一個錯誤?我已安裝最新版本(0.994)。
描述您使用哪些命令行選項來構建包。 – 2009-09-15 01:21:38
我使用腳本將每個pl文件單獨編譯爲一個cgi文件。我使用以下命令行參數:-I -X和-o – Jono 2009-09-15 16:49:33