管理程序包和依赖项
应用依赖项分为两组,由Vega采用不同方法进行管理。本指南阐述了解析和安装每种依赖项所使用的工具,以及操作系统目标版本选择程序包版本的流程。
操作系统内置的Vega程序包带有@amazon-devices/前缀,例如@amazon-devices/kepler-camera。[os.version] 目标限制了应用可用的程序包版本,vega project install可进行解析。普通的npm程序包(如react和lodash)仍以常规方式,即通过程序包管理器进行解析。
这两种程序包均可通过程序包管理器安装,但vega project不会自动运行。相反,vega project会根据您的操作系统目标版本,解析操作系统内置程序包的正确版本,并将其写入package.json。随后,您可以自行运行程序包管理器,如npm、yarn或pnpm,进行下载与安装。
解析、安装和构建链
在开始之前,请确认您的manifest.toml中含有 [os.version] 部分。vega project install --fix需借助该部分解析操作系统目标版本。如果项目缺少该部分,则会导致操作失败并报错缺少操作系统版本,无法写入任何内容。要在单一命令中创建该部分并重新对齐,请同时添加两个标记:vega project install --fix --os-min 1.2 --os-version 1.2。有关添加该部分的其他方法,请参阅清单 [os.version] 部分。
要将项目从已解析版本转换为已构建应用,请运行以下命令。
vega project install --fix
npm install
vega project doctor
npx react-native build-vega
-
vega project install --fix会为每个@amazon-devices/*依赖项选择与[os.version].target兼容的最新发布版本,然后将其写入package.json。此操作不会下载任何内容,也不会更改node_modules文件夹。 -
npm install会下载并安装由vega project install写入的版本。使用项目当前所用的程序包管理器即可。 -
vega project doctor会在您构建前进行项目验证。失败时会以非零状态退出,因此可作为CI管道门禁。 -
npx react-native build-vega会为您构建应用,并生成vpkg。您也可以使用package.json中的构建脚本。
有关命令和选项的完整详情,请参阅Vega SDK CLI引用。
操作系统目标版本选择程序包版本的流程
manifest.toml中的 [os.version] 部分决定了vega project install所解析的版本。
[os.version]
target = "1.2"
min = "1.2"
-
target-vega project install会将每个@amazon-devices/*程序包解析到此操作系统版本可用的最新版本中。 -
min- 应用支持的操作系统最旧版本。该工具会将min中所有可用的操作系统内置模块记录为[[needs.module]]条目。还会将在min之后、target之前首次出现的模块记录为可选的[[wants.module]]条目。您的代码必须保护由此类模块添加的API,确保应用仍能在min版本设备上正常运行。
min和target均须为"M.n"格式的引用字符串,且为官方正式发布的操作系统版本。否则,即使格式正确,Vega也会拒绝该值。截至Vega SDK 0.24,操作系统1.2是唯一正式发布的版本,因此min和target的值均设为1.2。
有关字段定义、验证规则和模块ID格式的完整信息,请参阅清单 [os.version] 部分。
添加、更新和重新对齐程序包
下表描述了每项操作的命令。
| 命令 | 操作 |
|---|---|
vega project install <程序包> |
新增@amazon-devices/*程序包 |
vega project install --fix |
将所有操作系统程序包版本重新对齐到当前目标版本 |
vega project update --os-version <v> --dry-run |
应用前先预览针对不同操作系统目标版本的更改情况 |
vega project update-manifest |
手动编辑 [os.version] 后,重新生成清单模块条目 |
运行重写package.json的命令(含install和update)后,启用程序包管理器,安装更改项并重新构建。
update-manifest的运行方式有所不同。它会在manifest.toml中,而非package.json中,重写 [[needs.module]] 和 [[wants.module]] 条目。运行后,通过vega project install --fix将package.json重新对齐到新模块条目,随后启用程序包管理器并重新构建。
选择程序包管理器
vega project命令仅写入package.json。不会调用npm、yarn或pnpm。使用项目当前所用的程序包管理器即可。解析出的@amazon-devices/*版本为普通的package.json条目,所有兼容npm的程序包管理器均以相同方式安装。
vega project install在未安装的情况下写入package.json,因此在输出解析的程序包时会使用已安装一词。您仍需通过程序包管理器下载并安装。有关实际输出,请参阅vega project install。相关主题
Last updated: 2026年8月21日

