パッケージマネージャー

パッケージマネージャーは、再利用可能なソフトウェアコンポーネントとアセットを共有および管理し、クロスプラットフォームのアプリケーションとプラグインの開発をサポートするためのツールです。パッケージマネージャーを使用すると、次のようなプロジェクトの依存関係をインストール、更新、および削除できます。

  • Kanzi Engine のライブラリとヘッダー

  • Kanzi Engine プラグイン

  • Kanzi Studio プラグイン

  • アセットパッケージ

注釈

Package Manager は Kanzi 4.1 以降で使用できます。

パッケージマネージャーのインストール

Kanzi インストーラーは、オプションのインストール後の手順として Package Manager をインストールします。Package Manager を使用した Kanzi のインストール を参照してください。

パッケージマネージャーのインストールが完了すると、次の処理が行われています。

  • Conan 2.10.0 がインストールされます。

  • 追加された Conan リモート:

    • kanzi-conan-external: Kanzi の公式リリースパッケージ

    • kanzi-community-packages: コミュニティパッケージ

  • Kanzi に必要な Conan プロファイルと設定が追加されます。

  • Package Manager Kanzi Studio プラグインがインストールされました。

インストールが正常に完了すると、Kanzi Studio のメインメニューにパッケージマネージャーが表示されます。

../../_images/main-menu-package-manager-open.png

Kanzi Studio 用 Package Manager プラグイン

Kanzi Studio 用パッケージマネージャーは、Conan のリポジトリとパッケージを操作するためのグラフィカルインターフェイスを提供します。このプラグインを使用すると、コマンドラインの命令を手動で使用したり、設定ファイルを編集したりする必要がありません。

サポートされているパッケージタイプ

プラグインはさまざまなパッケージタイプを認識し、次のように処理します。

  • Kanzi Engine プラグインをプロジェクトの依存関係として追加します。

  • Kanzi Studio プラグインを現在の Kanzi Studio インスタンスの依存関係として追加します。

  • アセットパッケージを現在の Kanzi Studio インスタンスのアセットソースとして追加します。

パッケージの自動検出

プラグインは packages.json ファイルの変更を自動的に検出し、Kanzi Studio プロジェクトのライブラリに必要な更新を通知します。

アセットパッケージ内の Kanzi Engine プラグイン

このプラグインを使用すると、アセットパッケージに Kanzi Engine プラグインを依存関係として追加できます。そのようなアセットパッケージをインポートすると、Kanzi は必要な Kanzi Engine プラグインをプロジェクトに自動的に追加します。

Package Manager Kanzi Studio プラグインを使用する を参照してください。

Package Manager 対応のアプリケーションテンプレート

Kanzi Studio のアプリケーションテンプレートは、Kanzi Engine とその依存関係を提供する 2 つの方法をサポートしており、1 つの CMake 設定でどちらかを選択します。

  • SDK ワークフロー (デフォルト) - コンピューターにインストールされている Kanzi SDK から Kanzi Engine を解決します。

  • Package Manager ワークフロー - Package Manager を通じて、Kanzi Engine とその依存関係を Conan パッケージとして解決します。

プロジェクトを構成する際に、CMake 変数 KANZI_RESOLVER でワークフローを選択します。

  • cmake (デフォルト) は、インストールされている Kanzi SDK を使用します。

  • kpm は Package Manager を使用します。

たとえば、Package Manager ワークフローでプロジェクトをビルドするには、-DKANZI_RESOLVER=kpm を指定してプロジェクトを構成します。後でワークフローを切り替えるには、もう一方の値でプロジェクトを再構成します。

Kanzi 4.1 以降、この切り替えは標準のアプリケーションテンプレートに組み込まれており、以前のバージョンで使用されていた個別の Conan 専用テンプレートを置き換えています。

注釈

Android では、Kanzi Studio プロジェクトに同等の Gradle プロパティ kanzi.resolver (cmake または kpm) があり、テンプレートの Gradle ビルドも同じ選択を使用します。

プロジェクトを新しいバージョンの Kanzi に移行する

新しいバージョンの Kanzi をインストールしたら、プロジェクトを移行してそのバージョンを使用できます。

プロジェクトを新しいバージョンの Kanzi に移行するには:

  1. 新しいバージョンの Kanzi をインストールします。既存のバージョンと並行してインストールできます。

  2. 新しい Kanzi Studio でプロジェクトを開きます。

  3. 新しいバージョンに互換性のない変更が含まれている場合は、そのバージョンの移行ガイドに従ってください。Kanzi 4.1.0 マイグレーションガイド を参照してください。

以前の Kanzi Studio で作成されたプロジェクトを開くと、新しい Kanzi Studio はプロジェクトの移行を確認するダイアログを表示します。確認すると、Kanzi Studio はプロジェクトを新しいバージョンに更新します。

注釈

  • プロジェクトを移行すると、Kanzi Studio はプロジェクトの packages.json を自動的に更新し、Kanzi Studio が使用しているものと同じバージョンの Kanzi から依存関係を取得するようにします。

  • 独自の Kanzi Engine プラグインまたはアセットパッケージを公開している場合は、移行する前に新しい Kanzi バージョン向けにそれらを再デプロイしてください。そうしないと、アップデート時に packages.json の参照先となる対応パッケージが存在しません。

既知の問題

  • 現在、パッケージマネージャーのインストーラーは Conan キャッシュ内の Conan 構成(Conan プロファイル、テンプレート、拡張機能を含む)を上書きします。構成内に Kanzi が必要とする要素と一致する既存の要素がある場合、パッケージマネージャーをインストールするとインストーラーがそれらを上書きします。

  • Kanzi パッケージマネージャーは Conan 2 のデフォルトのキャッシュパスのみを使用し、カスタムパスは構成しません。すでに Conan 2 をインストールしていて、カスタムキャッシュパスを構成していない場合、そのデフォルトキャッシュを Kanzi パッケージマネージャーと共有することになります。まれではありますが、これによりパッケージリファレンスの衝突が発生したり、Kanzi パッケージマネージャーがキャッシュ内の既存のコンテンツを変更したりする可能性があります。

トラブルシューティング

場合によっては、Package Manager インストーラーが失敗したり、応答しなくなったりすることがあります。その場合は、次の操作を行います。

  1. コンピューター上の Conan キャッシュ(C:\Users\<admin>\.conan2\ にあります)をクリアします。

  2. Kanzi SDK インストーラーを再実行して、パッケージマネージャーを再インストールします。

関連項目

Package Manager Kanzi Studio プラグインを使用する

Package Manager を使用したアセットパッケージの作成とデプロイ

Package Manager を使用した Engine プラグインの作成とデプロイ