1つのCPAN依存関係を持つ私のPerlアプリケーションを配布したい。誰かがアプリケーションを起動したときにこの依存関係のチェックを含めることはできますか?コマンドライン引数または内部のperlを通して直接?PerlアプリケーションにCPAN依存関係を含めるにはどうすればいいですか?
0
A
答えて
3
他の依存関係のない純粋なPerlモジュールですか?
私は自分のコードでパッケージ化しています。あなたが好きなら、ちょうどあなたのファイルに追加することさえできます。
これは少し複雑です。つまり、インストールする必要のあるモジュールが十数あり、必要なコンパイルがある場合は、CPANを使用してダウンロードする必要があります。 CPAN::AutoINCがあり、モジュールが必要なときにCPANから必要なモジュールをダウンロードしてインストールし、@INC
パスにはないものとします。
しかし、私の経験では、混乱してしまうことがありました。ユーザーはプログラムの実行を開始するかもしれませんが、実際に時間がかからない場合、前提条件のモジュールをダウンロード、コンパイル、テストするのに20分かかります。
ただ失敗して、何が必要なのかをよく説明してください。ユーザーはcpan
をrootとして実行したいので、マシン上の全員が利用できます。あるいは、システム管理者にそれを行うように依頼する必要があるかもしれません。
:
our $missingModuleFlag;
BEGIN {
eval { require My::Mod; };
our $missingModuleFlag = [email protected] if ([email protected]);
}
[...]
our $missingModuleFlag; #Package Variable -- Value is from above
if ($missingModuleFlag) {
die <<EOM;
ERROR: You are missing module "My::Mod" which is required for
this program. Please use "cpan" to download this module
and install it on this server. If you have no idea what
I am talking about, see http://www.cpan.org/modules/INSTALL.html.
If that doesn't make any sense to you, then ask a system administrator.
EOM
}
それは問題が何であるかを説明し、何が行われる必要があると、インストールを進めるのいずれかに、ユーザーに選択肢を与え、または誰かにそれらのためにそれをするように頼みなさい。
5
このquestionで説明されている複数の方法の他に、前提条件モジュールをコードにバンドルすることも考えられます。 PAR
、PAR::Packer
など、いくつかのオプションがあります。
関連する問題
- 1. maven/sbtプロジェクト内でspark-examples.jarを依存関係に含めるにはどうすればいいですか?
- 2. Angular2の依存関係をhtmlに含めるにはどうすればいいですか?
- 3. MacOS Xのpythonホイールにbrewの依存関係を含めるにはどうすればいいですか?
- 4. 依存関係にtools.jarを含めるにはどうすればいいですか?
- 5. Androidライブラリ内に依存関係を含めるにはどうすればいいですか?
- 6. Pythonプロジェクトにライブラリの依存関係を含めるにはどうすればいいですか?
- 7. Scala intelliJプロジェクトにgeoscriptを依存関係として含めるにはどうすればいいですか?
- 8. .NET Core appドッカーのイメージに依存関係を含めるにはどうすればいいですか?
- 9. Openshift Nodejsアプリケーションにnpm依存関係を再インストールするにはどうすればいいですか?
- 10. Bower in RailsアプリケーションでJavascriptの依存関係を管理するにはどうすればいいですか?
- 11. PerlのCPANのインストール - 依存関係の問題
- 12. Angular依存関係をアプリケーションからコントローラに移動するにはどうすればよいですか?
- 13. Python:デコレータを含む循環依存関係を取り除くにはどうすればいいですか?
- 14. Spring BlazeDSインテグレーションに含めるMaven依存関係はどれですか?
- 15. Mavenプラグインに必要な依存関係のみを含めるにはどうしたらいいですか?
- 16. テストJARにMavenの依存関係を含めるにはどうしたらいいですか?
- 17. iOSアプリケーションでcarthage(所有)の依存関係をデバッグするにはどうすればよいですか?
- 18. Angular 2アプリケーションで@types依存関係を使用するにはどうすればよいですか?
- 19. 他のプロジェクトに記載されている依存関係をプロジェクトに含めるにはどうすればいいですか?だからここ
- 20. 依存関係にはDecoratingProxyが含まれていますか?
- 21. 外部のAndroidアプリケーションアクティビティ(または外部アプリケーションを完全に)をメインアプリケーションの依存関係として含めるにはどうすればよいですか?
- 22. build.gradeスクリプトからの依存関係をプラグインタスクに追加するにはどうすればいいですか?
- 23. NetbeansプロジェクトでEclipseのような依存関係をエクスポートするにはどうすればいいですか?
- 24. sinonでネストされた依存関係を偵察するにはどうすればいいですか?
- 25. 既存の依存関係プロパティコールバックにロジックを追加するにはどうすればよいですか?
- 26. モジュールの依存関係リストに依存関係を追加するにはどうすればいいですか?
- 27. 複数のサブ依存関係をbrowserifyに含めないようにするにはどうすればよいですか?
- 28. perlにperl依存関係を自動的にインストールする
- 29. 依存関係に基づいてReactコンポーネントをインポートするにはどうすればよいですか?
- 30. sbtプロジェクトにネイティブライブラリの依存関係を追加するにはどうすればいいですか?
http://stackoverflow.com/questions/1094125/try-to-use-module-in-perl-and-print-message-if-module-not-available –