73

私は実稼働環境を複製して、多くのテスト/シッティング環境を作成する任務を負っています。

私がしなければならないことの 1 つは、何年にもわたってインストールされてきたすべてのモジュール (内部および外部モジュールを含む) を使用して、Perl をビルドすることです。CPAN.pm autobundle を使用することもできますが、これにより、本番環境にある外部モジュールのより新しいバージョンがテスト環境に含まれることになります。

(多くの) バージョン固有の Perl モジュールを入手してインストールする最も簡単で最良の方法は何ですか?

4

6 に答える 6

107

bdfoy には最適な大規模ソリューションがありますが、いくつかのモジュールをインストールするだけの場合は、tarball へのパス (CPAN ツリーの最上位からの相対パス) を参照して、CPAN シェルに特定のディストリビューションをインストールするように指示できます。

cpan> install MSCHWERN/Test-Simple-0.62.tar.gz

BackPAN への URL を URL リストに追加すると、任意の古いバージョンをインストールできます。

cpan> o conf urllist push http://backpan.perl.org/

これは、CPAN.pm FAQの「モジュールの 'DEVELOPER RELEASE' をインストールするにはどうすればよいですか?」の下にあります。

于 2008-11-06T06:27:50.423 に答える
39

まさにあなたが望むものであなた自身の CPAN ミラーを作成してください。サービスであるStratopan.comと、その上に構築されたツールであるPintoは、それを行うのに役立ちます。

PAUSE は最新バージョンのみをインデックス化するため、CPAN ツールはすべてのディストリビューションの最新バージョンのみをインストールします。ただし、必要なディストリビューションを正確に含む独自のプライベート CPAN を作成できます。必要なものだけを含む独自の CPAN ミラーを作成したら、CPAN ツールをそのミラーのみに向けて、それらのバージョンのみをインストールします。詳しくは後ほど。

今、あなたはそれのいくつかのバージョンを持ちたいと思っています。ミラーはいくつでも作成できます。また、ミラーをソース管理に配置して、好きなバージョンのミラーをチェックアウトすることもできます。

CPAN::Mini::Inject などのツールは、独自の CPAN をセットアップするのに役立ちます。基本的な例については、Slideshare での講演をチェックしてください。デモンストレーションの一部については、Vimeo のビデオをご覧ください。タイトルに「CPAN」または「BackPAN」が含まれているものを見てください。それについては、The Perl Reviewでも取り上げるか、次号までに掲載する予定です。:)

最近、私は dpan (DarkPAN の略) と呼ばれるプログラムに取り組んでいます。このプログラムは、ランダムなディレクトリを見て、そこにある Perl ディストリビューションを見つけ、必要な構造とインデックス ファイルを作成します。dpan を実行すると、CPAN クライアントを指す URL が取得され、すぐに使用できます。これは、Githubにある MyCPAN-Indexer プロジェクトの一部です。私は主に企業クライアントと協力してセットアップをカスタマイズしているため、監視なしで一般に使用する準備はまだ整っていません。興味がある場合は、お気軽に質問してください。

また、最近、適切なインデックス ファイルを作成するのに役立つCPAN::PackageDetailsをリリースしました。まだ少し若いですが、何か特別なものが必要な場合は、お尋ねください.

于 2008-11-04T03:41:01.400 に答える
9

[それからほぼ 5 年が経過しましたが、これは多くの意見があり、よく聞かれ、よく答えられている質問です。このページは引き続き Google 検索で表示される必要があるため、更新しても問題はありません。]

Cartonここで言及する価値があります。、、 、などCartonと同じスタイルの比較的最近のツールですアル。著者 (宮川) はそれを「アルファ」品質と呼んでいますが、現在の状態のカートンでも、マシン間でバージョン調整されたモジュールの複数の環境の保守を簡素化するのに役立ちます。App::cpanminusApp::cpanoutdatedperlbrew

Pintoこれも、いくつかの回答に関連する最近のツールです (実際、回答者の 1 人が寄稿者です)。

于 2013-06-14T05:44:55.730 に答える
4

Stratopan.comも別の選択肢です。Stratopan は、クラウドでプライベート CPAN を提供します。Stratopan リポジトリに特定のバージョンのモジュール (およびその依存関係) を入力し、標準の Perl ツール チェーンを使用してインストールできます。リポジトリは、変更することを決定した場合にのみ変更されるため、必要なモジュールのバージョンを常に取得できます。

免責事項: Stratopan を運営しています。

于 2013-12-05T21:01:30.683 に答える
2

cpanfileすべてのモジュールと必要なバージョンのリストを作成する(== <version>構文を使用して特定のリリースにロックする) と、ここでもうまく機能するようです。Cartonこれは、モジュールを使用するかcpanm、モジュールをインストールすることを意味します。

これを行うと、ファイルをすばやく/簡単に微調整して、開発環境またはステージング環境で特定のモジュールのアップグレードをテストできるという利点があります。これは、プライベート CPAN ミラーでは (複数のミラーを作成しないと) できないことです。

于 2016-03-22T15:18:41.303 に答える