Files
engine/docs/zh/basics/version.mdx
2025-02-12 16:13:13 +08:00

72 lines
4.0 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
order: 0
title: 版本管理
label: Basics
---
Galacean 有一套成熟的版本管理方案,本文将以 `@galacean/engine` 为例,介绍 Galacean 的管理工具,命名规则,发布策略及依赖管理。
## 版本管理工具
Galacean 使用的版本管理工具是 [Git](https://git-scm.com/) ,代码都托管在 [GitHub](https://github.com/galacean/) 上,并且所有的开发流程,包括[规划](https://github.com/galacean/engine/projects?query=is%3Aopen)[里程碑](https://github.com/galacean/engine/milestones)[架构设计](https://github.com/galacean/engine/wiki/Physical-system-design)在内的信息,全部都公开在 GitHub 的项目管理中,你可以通过[创建 issue](https://docs.github.com/zh/issues/tracking-your-work-with-issues/creating-an-issue) 与[提交 PR](https://docs.github.com/zh/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) 参与到引擎的建设当中。
## 包管理工具
Galacean 使用的包管理工具是 [NPM](https://www.npmjs.com/) ,您可以通过 npm 指令安装 [@galacean/engine](https://www.npmjs.com/package/@galacean/engine?activeTab=versions)
```bash
npm install --save @galacean/engine
```
然后在业务中引入使用:
```typescript
import { WebGLEngine, Camera } from "@galacean/engine";
```
## 版本命名规则与发布策略
Galacean 版本号格式是 `MAJOR.MINOR.PATCH-TAG.X` 。其中 `MAJOR.MINOR` 代表里程碑版本,通常伴随大量功能更新, `PATCH` 版本更新则表示向下兼容的错误修复,`TAG` 标签标记了该发布版本的用处。
| TAG | 释义 |
| :-- | :-- |
| **alpha** | 内部测试版,用于早期功能研发,有里程碑内的新功能但稳定性较差,例如 [1.3.0-alpha.3](https://www.npmjs.com/package/@galacean/engine/v/1.3.0-alpha.3) |
| **beta** | 公开测试版,内部测试已基本完毕,稳定性较强,但可能仍有较少的问题与缺陷,例如 [1.2.0-beta.7](https://www.npmjs.com/package/@galacean/engine/v/1.2.0-beta.7) |
| **latest** | 正式稳定版,经过长期测试和验证,无重大缺陷,可投入生产的推荐版本,例如 [1.1.3](https://www.npmjs.com/package/@galacean/engine/v/1.1.3) |
| **custom** | 内部为了测试特定功能而发布的,例如 [0.0.0-experimental-1.3-xr.9](https://www.npmjs.com/package/@galacean/engine/v/0.0.0-experimental-1.3-xr.9) |
> 在 [Github](https://github.com/galacean/engine/releases) 或 [NPM](https://www.npmjs.com/package/@galacean/engine?activeTab=versions) 上可以查看所有可用版本。
## 版本升级
每个里程碑版本更新迭代时会同步发布[版本升级引导](https://github.com/galacean/engine/wiki/Migration-Guide),其中包含了本次更新的内容以及 BreakChange可依据此文档进行版本的更新迭代。
## 版本依赖
| 情况 | 规则 |
| :-- | :-- |
| **核心包** | 核心包之间请保证版本一致 |
| **工具包** 依赖 **核心包** | 保证工具包版本与引擎核心包的大版本一致,以 1.3.x 版本的工具包为例,依赖 1.3.y 版本的核心包 |
| **二方包** 依赖 **核心包** | 二方生态包对引擎版本的依赖关系,请参照对应文档说明,如 [Lottie](/docs/graphics/2D/lottie/#lottie-使用版本说明) |
> 基本规则如上,若有特殊说明,请按照说明选择依赖。
## 其他
### 编辑器升级引擎版本
在 [项目设置](/docs/interface/sidebar/#项目设置) 中可以控制运行时的引擎版本。
### 运行时输出的版本信息
Galacean 大部分包运行时会在 `Console` 输出版本信息,
<Image src="https://mdn.alipayobjects.com/huamei_yo47yq/afts/img/A*6UM6TZ4IVYAAAAAAAAAAAAAADhuCAQ/original" alt="image.png" style={{zoom:"50%"}} />
通常也会以此为依据判断包版本依赖是否出现:
- 版本依赖不符合规则?
- 出现了多个不同版本的同名依赖?
若出现以上问题,请排查工程并解决依赖问题。