0

私のプロジェクトには次の構造があります。

Product "P" は、Libray-Plugin "PL" に依存する Plugin "PA" に基づく Feature "FA" に基づいています。製品全体をエクスポートでき、すべて正常に動作します。

ここで、更新サイトからさまざまなモジュールをインストールしたいと考えています。例: モジュール "M" は、実際にはライブラリ プラグイン "PL" に依存するプラグイン "PB" に基づく "FB" と呼ばれる機能です。モジュール (機能) を最初にインストールできます。この時点で、Library-Plugin のバージョンは「1.0.0」です。

モジュール (機能) を変更し、FB、PB、および PL のバージョンを 1.0.1 に増やしてからインストールしようとすると、p2 に次のエラーが表示されます。

Cannot complete the install because of a conflicting dependency.
 Software being installed: Modul Feature B - FB 1.0.1
 Software currently installed: Product P with Feature A - FA 1.0.0
 Only one of the following can be installed at once: 
  Library-Plugin - PL 1.0.0
  Library-Plugin - PL 1.0.1
Cannot satisfy dependency:
 From: Modul Feature B - FB 1.0.1
 To: Library-Plugin - PL 1.0.1
Cannot satisfy dependency:
 From: Product P with Feature A - FA 1.0.0
 To: Library-Plugin - PL 1.0.0

私は何を間違っていますか?他のインストール済み機能または製品と同じライブラリ プラグインに依存する機能モジュールのアップグレードをデプロイするにはどうすればよいですか?

4

1 に答える 1

0

問題は、プラグインの依存関係(つまり、ライブラリプラグインPL)を機能FAおよびFBに含めることです。このように、各機能はPLのバージョンを1つの正確なバージョンに制限するため、FAまたはFBを個別に更新しようとすると、p2は複数のバージョンのPLをインストールする必要があります。これはほとんどのバンドルでは不可能です(ほとんどのバンドルはシングルトンであるため)。

代わりに、機能には独自のバンドルPA、それぞれPBのみを含める必要があります。このように、製品Pのインストールには引き続きPLが含まれます(p2で作成された製品のインストールには常にすべての依存関係が含まれるため)が、PLプラグインの「一度にインストールできるのは次のいずれか1つのみ」というエラーは発生しなくなります。 。これは、PAとPBは通常バージョン範囲のあるPLに依存しているため(またはバージョン制限がまったくない場合もあります)、更新サイトで新しいバージョンが利用可能になるたびにPLをp2で更新できます。

于 2013-02-20T12:19:52.490 に答える