Perl の最も優れた点の 1 つは、包括的な Perl アーカイブ ネットワークである CPAN です。これは、Perl 5 が最初に登場した頃から、Perl に付属のクライアントである標準の共通ツールと同様にXML::Simple
、またはそれを介して、有用なアドオン モジュールを共有できるミラーリング サービスです。ほとんどすべての Perl ディストリビューション (Strawberry Perl や Linux に付属するほとんどの Perl ディストリビューションなど) には、CPAN クライアントが構成されて含まれています。このクライアントを使用すると、モジュールの名前を知るだけで、CPAN からモジュールをダウンロードしてインストールできます。SOAP::Lite
cpan
CPAN のほとんどすべてのモジュール配布は、まったく同じレイアウトに従います。通常、Makefile.PL
ファイル (ExtUtils::MakeMaker を使用してインストール スクリプトを生成するBuild.PL
場合)、ファイル (Module::Build を使用してインストール スクリプトを生成する場合)、またはその両方があります。これらの Perl スクリプトを実行すると、モジュールをインストールしてすべての前提条件が満たされていることを確認できる「Makefile」または「Build」ファイルが作成されます。
以前に Perl ディストリビューションを作成したことがない場合は、必要なディストリビューションを CPAN からダウンロードして、どのように配置されているかを確認できます。フォルダーとファイルの場所は、一度見れば非常に直感的です。これらは通常、インストール スクリプトとサポート ファイル (readme など) をルート ディレクトリに配置し、カスタム モジュール (作成したモジュール) をlib
ディレクトリに配置し、単体テストをt
ディレクトリに配置します。
Build.PL
あなたが初心者なら、ベースのものを見ることをお勧めします。これらは純粋な Perl ベースのインストール スクリプトです。Module.PL ベースのディストリビューションを作成することにした場合、モジュール ディストリビューションに と が必要XML::Simple
であることを指定するのは非常に簡単SOAP::Lite
です。まず、基本的な Module::Build ベースのインストール スクリプトを作成します。これは次のようになります。
use Module::Build;
my $build = Module::Build->new(
module_name => 'Foo::Bar',
license => 'perl',
requires => {
'perl' => '5.6.1',
'Some::Module' => '1.23',
'Other::Module' => '>= 1.2, != 1.5, < 2.0',
},
);
$build->create_build_script;
(これは、Module::Build::Authoringドキュメントから引用したものです)。
次に、必要なライブラリとそれらの最小バージョンを指定します。気にしなければゼロ (0) でもかまいませんが、それは「何でも」良いことを意味します。少なくとも、テストしているマシンにインストールされているライブラリのバージョンを指定することをお勧めします。
(きちんとしたショートカット: $VERSION パッケージ変数が定義されているライブラリのバージョンは、次のようにして確認できます。
perl -MSome::Lib -E "say Some::Lib->VERSION()"
.)
モジュールをインストールする手順は次のようになります。
cd folder\where\my\lib\is
perl Build.PL
Build
Build test
Build install
これにより、インストール ツールが作成され、テスト用のフォルダーが準備され (通常は単純なモジュールのビルド ライブラリ エリアにコピーされます)、t
フォルダー内のすべての .t スクリプトが実行されます (「テスト」、通常Test::More
はモジュールの単体テストに使用されます)。インストール前)、最後にモジュールを PC の Perl サイト ライブラリにインストールします。
スクリプトは、「設定」フェーズのBuild
一部として、前提条件を確認し、それらがまだない場合は警告します。
次に、 ikegami's answerで指摘されているように、cpanm クライアントを使用してライブラリをインストールすると、cpan クライアントが自動的に出て、依存関係をダウンロード、テスト、およびインストールします! または、Build.PL
ベースのインストーラーには「installdeps」オプションもあり、同じことを行います。次に、すべての依存関係 (および潜在的に再帰的な依存関係) が、将来変更されたとしても、自動的にダウンロード、テスト、およびインストールされます。