<APPNAME>、<COMPANY NAME.APPNAME>、<projectroot>を、実際のアプリ名、会社名、プロジェクトディレクトリのパスに置き換えます。amazonを会社名やパッケージIDとして使用しないでください。
このページでは、Vega CLIコマンドとその例について説明します。
ヘルプとバージョンオプション
インストールされているVega CLIバージョンを出力するには:vega -vです。問題を報告する場合はこのバージョンを含めて、CIパイプラインで使用して、ビルドがどのCLIを使用して実行されたかを確認してください。プロジェクトがどのSDKバージョンに対してビルドされているかを確認する場合は、SDKバージョンの管理を参照してください。
すべてのVegaコマンドのオプションを参照するには、次のコマンドを使用します。
vega buildコマンドのすべてのオプションを確認するには、次のコマンドを使用します。
終了コードとエラー出力
Vega CLIコマンドは、成功すると終了コード0を返し、失敗すると0以外の終了コードを返します。エラーメッセージはstderrに出力されます。
よく使用されるコマンド
npx react-native build-vega
npx react-native build-vegaコマンドを使用してアプリをコンパイルし、vpkgを生成します。
アプリをビルドするには、次のコマンドを使用します。
vega clean
<projectroot>/buildフォルダに生成されたアーティファクトを削除するには、次のコマンドを使用します。
vega project list-templates
サンプルアプリの作成に使用できるJavaScriptテンプレートとターボモジュールテンプレートを表示するには、次のコマンドを使用します。vega project generate
Vegaプロジェクトを作成するには、必要なパラメーターを指定してvega project generateコマンドを使用します。
新しいアプリを作成するには、次のコマンドを使用します。
-
vega project generate- Vegaアプリを生成します。 -
--template- Vegaアプリまたはターボモジュールのテンプレートを設定します。テンプレートはvega project list-templatesコマンドで確認できます。この例では、helloWorldテンプレートを使用しています。 -
--name- 新しいアプリまたはターボモジュールの名前を設定します。アプリ名に空白や特殊文字を含めることはできません。<APPNAME>を新しいアプリの任意の名前に置き換えます。 -
--packageId- Vega向けReact Nativeアプリに必要なmanifest.tomlに指定するパッケージIDを設定します。ターボモジュールでは必要ありません。<COMPANY NAME>を自分の会社名に置き換え、<APPNAME>を自分のアプリ名に置き換えます。 -
--outputDir (optional)- 新しいアプリファイルの出力ディレクトリを設定します。<APPNAME>を自分のアプリ名に置き換えます。
vega run-app
アプリをインストールして実行するには、次のコマンドを使用します。vega device install-appコマンドとvega device launch-appコマンドを組み合わせたものです。
VVDの場合:
sampleappというアプリをMac Mシリーズコンピューターで実行する場合、コマンドは次のようになります。
プロジェクト互換性コマンド
vega project互換性コマンドは、アプリがサポートするOSのバージョンを管理します。互換性のあるパッケージバージョンを解決し、プロジェクトをOSバージョンのターゲットに合わせて再調整した後、構成を検証して、マニフェストモジュールエントリを再生成します。これらのコマンドの背景となる概念については、ターゲットのOSバージョンを参照してください。
vega project install
OSバージョンと互換性のある@amazon-devices/*パッケージのバージョンをpackage.jsonに解決するには:
installとinstall --fixはいずれも、パッケージをダウンロードしたり、node_modulesフォルダを変更したりしません。どちらのコマンドも互換性のあるバージョンを解決し、それらをpackage.jsonに書き込みます。この2つの形式は範囲が異なります。
-
vega project install <packages..>- すべての互換性チェックに合格した場合、指定された@amazon-devices/*パッケージを依存関係としてpackage.jsonに書き込みます。これは新しい依存関係を追加する唯一の形式です。 -
vega project install --fix-package.json内の既存のすべての@amazon-devices/*のバージョンを互換性プロファイルに合わせて調整します。新しいパッケージは追加されません。
--os-versionや--rn-versionを省略すると、コマンドはプロジェクトのmanifest.tomlとpackage.jsonからこれらの値を読み取ります。--fixと--dry-runはどちらもデフォルトでオフになっています。
--os-minは、package.jsonではなくmanifest.tomlに書き込む唯一のオプションであり、ほかのオプションよりも適用範囲が限定されています。
-
--fixと併用した場合にのみ有効です。単独のvega project install --fixやinstall <package>コマンドでは、minは書き込まれません。 -
--os-versionと併用してください。[os.version]セクションがないプロジェクトでは、installはターゲットを解決できないため、Missing OS Versionで失敗し、何も書き込みません。 -
[os.version]セクションがないプロジェクトで両方のフラグを指定した場合、installはこのセクションを作成し、minの設定、targetの初期化を行い、📝 Set [os.version] min = "<v>" in manifest.tomlと表示して確認します。 -
既に
[os.version]が存在する場合、この形式はminのみを書き込み、targetは変更しません。従来の[os]セクションも既存のセクションと見なされます。targetを変更するには、vega project update-manifestを使用してください。
vega project doctorを実行することをお勧めします。install --fixはバージョンを解決し、doctorはその結果を検証してソースレベルのOSバージョンlintを実行します。詳細については、vega project doctorを参照してください。
--dry-runを指定すると、コマンドは変更を書き込まずに解決内容をプレビューし、ヘッダーは🔍 Dry run — no changes will be madeになります。
vega project update
プロジェクトのnpmパッケージとマニフェストをOSバージョンのターゲットに合わせて調整するには、次のコマンドを使用します。updateは、アプリが既に依存しているパッケージのバージョンについてのみ整合を調整します。各パッケージをOSターゲットと互換性のあるバージョンに更新し、それ以外は変更しません。新しい依存関係を追加するには、vega project installを使用してください。
オプションの指定はすべて任意です。オプションを省略すると、このコマンドは--os-version、--os-min、--rn-versionの値をプロジェクトのmanifest.tomlから読み取ります。また、--dry-runはデフォルトでオフになります。
updateとinstall --fixはいずれもpackage.json内の既存の@amazon-devices/*バージョンを互換性プロファイルに合わせて調整し、どちらも--os-versionと--os-minを受け入れます。通常のセットアップや再調整フロー、まだ存在しない[os.version]セクションの作成には、install --fixを使用します。変更内容を実際に書き込む前に、レビュー可能な変更プランを確認する場合はupdateを使用します。--dry-runにより、各パッケージのバージョンの遷移が出力されるためです。
たとえば、manifest.tomlのターゲットに対する再調整をプレビューするには、次のコマンドを使用します。
🔄アイコンは変更されるパッケージを示し、✓アイコンは変更されないパッケージを示します。何も変更する必要がない場合、このコマンドは✅ All packages are up to dateを出力します。
vega project doctor
構成、依存関係、lintルールなど、プロジェクトのOSバージョンの互換性を検証するには、次のコマンドを使用します。doctorは以下の確認を行います。
- SDK互換性マニフェストが存在すること。
- プロジェクト構成が解決されること。
-
[os.version].minと[os.version].targetがいずれも有効な、正式に定義されたOSバージョンであること。 -
[os.version].minが[os.version].target以下であること。 -
@amazon-devices/*依存関係のバージョンがSDKプロファイルと一致していること。 -
OSバージョンモジュールのエントリは
manifest.tomlにあること。 -
ソースレベルのOSバージョンのlintルール(
no-unguarded-os-api)に合格していること。
no-unguarded-os-apiルールは、[os.version].minよりも新しいOSバージョンで導入されたAPIへの各参照にフラグを立てます。参照がisPresentOnOS()のガード内にある場合、またはそのimportの直前の行に// @os-version-okコメントが付いている場合は、チェックを通過します。このルールは、import行ではなく、APIを実際に使用している箇所を報告します。
出力の例:
minとtargetはどちらも1.2です。No OS version issues以降は何も導入されず、ガードする対象が何もなかったため、lintはminを報告します。より新しいOSバージョンが正式に作成され、minをtargetより小さい値に設定すると、lintはminの後に導入されたAPIへのガードされていないすべての参照にフラグを立てます。各フラグはfile:line:column rule-idの形式で報告され、その下にメッセージがインデントして表示されます。概要は❌ 1 check(s) failed.となり、doctorは0以外の終了コードで終了します。
結果では、✅アイコンはチェックに合格したことを示し、⚠️は警告を示し、❌は失敗を示します。vega project doctorは、fail severityを持つチェックが1つでも失敗すると0以外の終了コードで終了するため、CIパイプラインのゲートとして使用できます。詳細は、Vega SDKをCIパイプラインに統合する方法を参照してください。
vega project update-manifest
manifest.toml内のOSバージョンモジュールのエントリを、[os.version]の構成内容から再生成するには、次のコマンドを使用します。
@amazon-devices/*パッケージのエントリは書き込まれません。このコマンドが書き込むエントリは次のとおりです。
-
[os.version].min用に1つの[[needs.module]]エントリ。形式は/com.amazon.vega.os@IVega_<min>です。アプリはminより前のバージョンのOSのデバイスにはインストールされません。 -
minより上で、[os.version].targetまでの各OSバージョン用にそれぞれ1つの[[wants.module]]エントリ。形式は/com.amazon.vega.os@IVega_<v>です。minとtargetが同じである場合、wantsは生成されません。
コマンドラインでOSバージョンを指定する場合は、
--os-minと--os-versionを必ずセットで指定してください。minはneedsとして扱われるモジュールを決定し、targetはwantsの上限を決定します。この2つの組み合わせによって、生成されるモジュールエントリが決まります。両方を省略すると、コマンドはmanifest.tomlからそれらの値を読み取ります。どちらか1つだけを指定しないでください。
たとえば、OS 1.2をターゲットとするプロジェクトのモジュールエントリを生成するには、次のコマンドを使用します。
--dry-runを指定すると、コマンドは生成されたTOMLを書き込む代わりに出力します。マニフェストのフィールド定義については、マニフェストの[os.version]セクションを参照してください。needsとwantsの詳細については、マニフェストの[needs]セクションとマニフェストの[wants]セクションを参照してください。
デバイスコマンド
Vega CLIデバイスコマンドインターフェイスは、物理デバイスとVVDを操作する手段を提供します。デバイスコマンドを機能させるには、VDAをインストールしてパスで使用できるようにする必要があります。 一般的なコマンド形式は次のとおりです。vega device copy-from
デバイスファイルをホストコンピューターにコピーするには、次のコマンドを使用します。vega device copy-logs
デバイスからアーティファクトファイルを取得するには、次のコマンドを使用します。vega device copy-to
ホストファイルをデバイスにコピーするには、次のコマンドを使用します。vega device get-log-info
デバイスからログ情報を取得するには、次のコマンドを使用します。vega device info
デバイスのメタデータをJSON形式で取得するには、次のコマンドを使用します。返される結果には、デバイスタイプ、OSバージョン、ホスト名、アーキテクチャ、プロファイル、製品名、ビルドの説明、デバイスがシミュレートされているか物理デバイスか、開発者モードのステータスが含まれます。vega device install-app
デバイスやVVDにアプリをインストールするには、アプリのパッケージのパスを引数(-p)として追加します。このパスは、build/<ARCH>-<BUILD_TYPE>/<APP_NAME>_<ARCH>.vpkgという構文に従います。
たとえば、Mac x86コンピューターで動作するsampleappの場合、コマンドは次のようになります。
.vpkgを自動的に検出してインストールするには、次のコマンドを使用します。
debugを指定するには、次のコマンドを使用します。
releaseを指定するには、次のコマンドを使用します。
vega device installed-apps
デバイスにインストールされているアプリの一覧を表示するには、次のコマンドを使用します。vega device installed-packages
デバイスにインストールされているすべてのパッケージの一覧を表示するには、次のコマンドを使用します。vega device is-app-installed
アプリ名を指定してアプリのインストールを確認するには、次のコマンドを使用します。vega device is-app-running
アプリ名を指定してデバイス上でアプリが実行されているかどうかを確認するには、次のコマンドを使用します。vega device is-connected
特定のデバイスの接続状態を確認するには、次のコマンドを使用します。vega device launch-app
アプリ名を指定してデバイスでアプリを起動するには、次のコマンドを使用します。vega device list
接続されているデバイス(Fire TV StickとVVD)の一覧を表示するには、次のコマンドを使用します。VirtualDevice : tv - architecture - OS type - hostname
以下は、Fire TV Stick(GXXXXXXXXXXXXXXX)を接続し、VVDを実行している場合の出力例です。

