0

PerlIO::eol パッケージをインストールせずにプロジェクトの一部として追加しようとしています。これにより、すべての依存関係を各マシンに再インストールすることなく、スクリプトと共にパッケージ化できます。PerlIO::eolの構造と重要なファイルの場所がわかり ません

4

2 に答える 2

3

サブディレクトリを作成し、incそこに展開された PerlIO-eol ディストリビューションを移動します。次に、プロジェクトで次のようなものを使用しますBuild.PL

use Config qw(%config);
use Module::Build qw();

my $build = Module::Build->subclass(code => q(sub ACTION_inc2blib {
    my ($self) = @_;
    chdir 'inc/PerlIO-eol';
    system $^X, 'Makefile.PL';
    system $Config{make};
    chdir '../..';
}))->new(
    module_name     => 'Foo::Bar',
    license         => 'restrictive',
    dist_abstract   => 'blah',
);

$build->dispatch('inc2blib');
$build->create_build_script;

次に、メイン プログラムでuse blib 'inc/PerlIO-eol';.


しかし、それはBFIです。プロジェクト ディストリビューションのメタファイルで PerlIO::eol をランタイム依存関係としてセットアップし、通常どおりインストールする必要があります。

于 2012-01-30T16:50:57.060 に答える
1

インストールする予定のマシンによって異なります。それらのすべてが同じオペレーティング システム (および同じバージョンのライブラリと Perl など) を使用している場合、それは可能かもしれません。そうでない場合は、計画されている各プラットフォーム用に事前にモジュールをコンパイルする必要があります (いくつかの .xs ファイルが含まれています)。

于 2012-01-30T16:42:21.233 に答える