@amazon-devices/プレフィックスが付いています(例:@amazon-devices/kepler-camera)。[os.version]ターゲットは、アプリが使用できるVegaパッケージのバージョンを制限し、vega project installがそれらを解決します。reactやlodashなどの通常のnpmパッケージは、パッケージマネージャーを使用していつもの方法で解決します。
どちらの種類もパッケージマネージャーがインストールします。vega projectによってインストールされることはありません。代わりに、vega projectは、OSバージョンターゲットに合わせてOS提供パッケージの正しいバージョンを解決し、package.jsonに書き込みます。その後、開発者のパッケージマネージャー(npm、yarn、pnpmなど)を実行して、それらのダウンロードとインストールを行います。
解決、インストール、ビルドのチェーン
始める前に、manifest.tomlに[os.version]セクションがあることを確認してください。vega project install --fixは、このセクションに基づいてアプリのOSターゲットを解決します。そのため、このセクションがないとMissing OS Versionエラーが発生し、何も書き込まれません。セクションの作成と再調整を1つのコマンドで行うには、vega project install --fix --os-min 1.2 --os-version 1.2のように両方のフラグを追加します。セクションを追加するその他の方法については、マニフェストの[os.version]セクションを参照してください。
解決済みバージョンのプロジェクトをビルド済みアプリに移行するには、次のコマンドを実行します。
-
vega project install --fixは、アプリの[os.version].targetと互換性がある各@amazon-devices/*依存関係の最新の公開バージョンを選択し、それらのバージョンをpackage.jsonに書き込みます。何もダウンロードしませんし、node_modulesフォルダを変更することもありません。 -
npm installは、vega project installが書き込んだバージョンをダウンロードして、インストールします。プロジェクトで既に使用されているパッケージマネージャーを使用してください。 -
vega project doctorは、ビルドの前にプロジェクトを検証します。検証に失敗すると0以外のコードで終了するため、そのコードをCIパイプラインでゲートとして使用できます。 -
npx react-native build-vegaはアプリをビルドし、vpkgを生成します。package.jsonでビルドスクリプトを使用することもできます。
OSバージョンターゲットがパッケージバージョンを選択する仕組み
manifest.tomlの[os.version]セクションは、vega project installで解決するバージョンを指定します。
-
target-vega project installにより、各@amazon-devices/*パッケージは、このOSバージョンで利用可能な最新バージョンに解決されます。 -
min- アプリがサポートする最も古いOSバージョン。このツールは、minで指定されたOS提供モジュールを必須の[[needs.module]]エントリとして記録します。minで最初に指定されたモジュールからtargetまでのモジュールを、オプションの[[wants.module]]エントリとして記録します。コードでは、これらのモジュールが追加するAPIを保護し、minのデバイスでもアプリが実行されるようにする必要があります。
minとtargetはいずれも、"M.n"形式の文字列で正式なOSバージョンを指定する必要があります。Vegaは、たとえその値が数値的に正しい形式であっても、正式に定義されていない値は受け付けません。Vega SDK 0.24の時点では、正式に定義されているOSバージョンはOS 1.2のみです。minとtargetはどちらも1.2に設定してください。
詳細なフィールド定義、検証ルール、モジュール IDの形式については、マニフェストの[os.version]セクションを参照してください。
パッケージの追加、更新、再調整
次の表では、各アクションを実行するコマンドについて説明します。package.jsonを書き換えるコマンド(installやupdateなど)が終了したら、パッケージマネージャーを実行して変更のインストールと再ビルドを行います。
この場合、update-manifestは、package.jsonではなく、manifest.tomlの[[needs.module]]エントリと[[wants.module]]エントリを書き換えます。これを実行した後、新しいモジュールエントリに合わせてpackage.jsonを再調整するためにvega project install --fixを実行し、パッケージマネージャーを実行してから再ビルドします。
パッケージマネージャーの選択
vega projectコマンドはpackage.jsonのみを書き込みます。npm、yarn、pnpmを呼び出すことはありません。プロジェクトで既に使用されているパッケージマネージャーを使用してください。解決された@amazon-devices/*バージョンはプレーンなpackage.jsonエントリです。npm互換のパッケージマネージャーであれば、どれでも同じ方法でこれらのエントリをインストールします。

