🔍 ValidateSchema
仅校验 composer.json 与 composer.lock 的 JSON 架构,不检查平台需求、发布要求或版本约束。等价于执行 composer validate --no-check-all --no-check-publish --no-check-version。
何时使用
当只关心文件结构是否合法(字段是否存在、类型是否正确),而不关心平台兼容性或 Packagist 发布字段时使用。适合在编辑器插件或快速预检脚本中做轻量校验。
签名
go
func (c *Composer) ValidateSchema() (string, error)参数
该方法无参数。
返回值
| 返回值 | 类型 | 说明 |
|---|---|---|
| 第一返回值 | string | 验证命令的原始输出 |
| 第二返回值 | error | 架构不合法或执行失败时返回 |
示例
go
package main
import (
"fmt"
"log"
"github.com/scagogogo/composer-skills/pkg/composer"
)
func main() {
comp, err := composer.New(composer.DefaultOptions())
if err != nil {
log.Fatalf("初始化失败: %v", err)
}
output, err := comp.ValidateSchema()
if err != nil {
log.Fatalf("架构验证失败: %v\n输出: %s", err, output)
}
fmt.Println("JSON 架构校验通过")
}进阶
- 完整严格校验使用 ValidateStrict。
- 仅校验
composer.lock同步性使用 ValidateComposerLock。 - 自定义组合校验选项使用
ValidateWithOptions(options)。 - 结构化结果(区分 errors / warnings)使用 ValidateStructured。