3

なぜ人々がこのコメントをするのかを誰かが明らかにすることができますか?私は人々がこれを言うスタックオーバーフロー(このような)でいくつかのスレッドを見てきました。PPMは、perlインストールにドロップされたばかりのモジュールのコンパイル済みバージョンにすぎないように思われます。システムDLLへの外部依存関係がないと仮定すると、大きなリスクは何ですか?

私が知る限り、特定のモジュールをインストールするときにPPMが依存関係チェックを行い、必要な他のモジュールをインストールします。Linuxディストリビューションで.debまたは.rpmファイルを使用するのと同じように見えます。

編集#1:

モジュールWxに関するこのページを見つけました。ここでは、PPMを使用してStrawberryPerl用のWxをインストールする方法を示しています。私はそれらを試しましたが、うまく機能しているようです。また、PPMとcpanminusを使用してCPANモジュールを混合しましたが、すべて問題ないようです。次のようなモジュール:

  • Wx
  • 日付時刻
  • DBI
  • データ::ダンパー
  • DBD :: AnyData

PPMとStrawberryPerlを混合するリスクに関するコメントは、一粒の塩と一緒に摂取する必要があるものとして、あちこちで問題を引き起こす可能性があるものとして結論付けています、一般的には、PPMモジュールを使用することはまったく問題ありませんStrawberryPerlを使用します。

4

2 に答える 2

7

PPM は (ActiveState によって作成されたと思います)、C コンパイラーや make を必要とせず、または cpan が存在することを期待する unixy のものを必要とせずに、XS 拡張機能または外部ライブラリーを使用するモジュールをユーザーがインストールできるようにしました。彼らの問題の 1 つは、ActiveState (または誰か) が、必要なモジュールの PPM と、それが使用するすべてのモジュールを CPAN から作成しなければならないことです。これは、追いつくまで古いバージョンを使用することを意味する場合もあれば、単にモジュールが利用できないことを意味する場合もありました。

Strawberry の優れた点は、cpan がモジュールをビルドするために使用できる非表示の unixy 環境を提供することです。これにより、バイナリをパッケージ化する必要がなくなります。

これは、cpan によって依存関係のチェックが行われることを意味し、(特定の値が easy の場合) モジュールの新しいバージョンをインストールしたり、奇妙な場所にあるライブラリにリンクしたりすることがはるかに簡単になり、より多くの CPAN モジュールを何もしなくても利用できるようになります。誰からの努力。

linux-distro パッケージング システムの使用についても同じことが言えます。ディストリビューションと同期していないモジュール バージョンが必要な場合は、行き詰まります。より最新の Perl を使用したい場合は、行き詰まります。Perl は CPAN エコシステムに独自の非常に優れたパッケージング システムを持っているため、可能であればそれを使用することは非常に理にかなっています。

同時に、提供されている一連のバイナリ パッケージを使用する方が賢明な場合もあります。特に、多数のシステムを展開する必要があり、Perl のインストールは、追跡する必要があるパッケージのコレクションのごく一部にすぎません。

于 2011-10-08T03:16:59.573 に答える
4

PPD には実際に外部ライブラリを含めることができるため (たとえば、XML::LibXML のパッケージには libxml2 が含まれています)、インストールがより簡単になります。

PPD は既にコンパイルされているため、インストールを高速化できます。

PPD は他の誰かによって準備されているため、制御が難しくなります。利用可能なモジュール (ありがたいことに利用可能なものの膨大な範囲) と利用可能なバージョンに制限されます。

私は通常、2 つのシステムを混在させることを躊躇しますが、同じビルドで両方ppmを使用することで単一の問題に遭遇したことはありません。cpan

ご都合の良い方をご利用ください。

于 2011-10-08T07:53:27.427 に答える