stdx 路径配置示例方案

下面给出项目统一使用静态 stdx 的配置方式:先在全局环境变量里指向仓颉 native 产物根目录,再由 cjpm.toml 固定拼接 static/stdx。

1. 全局环境变量

假设本机已经安装好对应平台的仓颉 stdx 产物,目录结构类似:

/Users/xxx/darwin_aarch64_cjnative/
  ├── dynamic/stdx
  └── static/stdx

建议将 CANGJIE_STDX_PATH 指向这个根目录,而不是直接指向某一个 stdx 子目录:

export CANGJIE_STDX_PATH=/Users/xxx/darwin_aarch64_cjnative

这样可以让所有项目共享同一套环境变量约定,同时避免写死本机绝对路径。

2. 项目内配置思路

项目中的 stdx 路径统一配置为:

[target.aarch64-apple-darwin]
  [target.aarch64-apple-darwin.bin-dependencies]
    path-option = ["${CANGJIE_STDX_PATH}/static/stdx"]

3. 推荐写法

如果同一个工程需要兼容多平台,按平台分别写目标段,并统一引用对应平台根目录下的静态 stdx:

[target.aarch64-apple-darwin]
  [target.aarch64-apple-darwin.bin-dependencies]
    path-option = ["${CANGJIE_STDX_PATH}/static/stdx"]

[target.x86_64-apple-darwin]
  [target.x86_64-apple-darwin.bin-dependencies]
    path-option = ["${CANGJIE_STDX_PATH}/static/stdx"]

[target.x86_64-unknown-linux-gnu]
  [target.x86_64-unknown-linux-gnu.bin-dependencies]
    path-option = ["${CANGJIE_STDX_PATH}/static/stdx"]

4. 使用方式

构建前先导出环境变量,再执行构建命令:

export CANGJIE_STDX_PATH=/Users/xxx/darwin_aarch64_cjnative
cjpm build

如果切换到另一个平台,只需要修改 CANGJIE_STDX_PATH 的值,不需要改项目源码里的 path-option 组织方式。

5. 注意事项

  1. CANGJIE_STDX_PATH 应该指向产物根目录,避免把路径写死到某一个子目录。
  2. path-option 统一写为 ["${CANGJIE_STDX_PATH}/static/stdx"]。
  3. 不要在项目配置中混用静态、动态或本机绝对路径。
  4. 如果后续目录结构变化,只需要调整环境变量,不需要逐个改项目文件。