ここで同じことにぶつかる他の2つの質問があることは知っていますが、私の提案は実際にそこにある提案を試すことから来ています.
セットアップは次のとおりです。 Strawberry Perl ディストリビューションがインストールされた Windows マシン上にいる誰かと共有したい複数のモジュールを含むアプリケーションがあります。
その構造は次のようなものです。
PerlApp
lib
Base
Base.pm
Gui.pm
Db
Db.pm
records.db
Parser
Parser.pm
Utils
Utils.pm
PerlApp.pl
Config.txt
これにはすべて、2 つのエントリ ポイントがあります。PerlApp.pl スクリプトを使用して cmd ライン インターフェイスを介して実行するか、Wx インターフェイスを含む Gui.pm ファイルを実行します。
このプログラムで使用される CPAN からインストールされたいくつかのモジュールで Strawberry Perl を実行しています。Cava Packager を使用してみましたが、残念ながら、これを開発した perl のバージョンをサポートしていません。
ppを試しましたが、cmd スクリプトをパッケージ化した結果の実行可能ファイルでさまざまなエラーが発生します。ドキュメントを参照しましたが、私の人生では、このモジュールを使用して完全なディレクトリツリーをパッケージ化する方法、またはそれがサポートされているかどうかさえわかりません。(電話帳ドキュメンテーション症候群)
私は試した
pp -o app.exe PerlApp.pl
エラーは次のとおりです。
The locale codeset (cp1252) isn't one that perl can decode, stopped at Encode/Locale.pm line 94
Compilation failed in require at LWP/UserAgent.pm line 1000
Compilation failed in require at lib/Base/Base.pm line 9
最後の手段は、必要なすべてのファイルをパッケージ化し、外部マシンを動作させるためにどの CPAN モジュールをインストールする必要があるかを判断し、最終的にユーザーに自分で手動でインストールするよう依頼することです。